Cómo los británicos dejaron incomunicada Alemania con el resto del mundo en la I Guerra Mundial.
A medianoche del 5 de agosto de 1914, el día que Reino Unido le declaró la guerra a Alemania, un telegrama llegó al puerto de Dover (situado en el punto más estrecho del Canal de la Mancha). En el estaba atracado el barco cablero británico CS Alert, un viejo vapor, encargado de tender y mantener cables submarinos de comunicaciones. El mensaje estaba escrito en clave y su significado no lo podría descifrar nadie excepto su destinatario: el superintendente Bourdeaux.
A las 01:52 Bourdeaux estaba a bordo del barco CS Alert, cuando este se hizo a la mar con una misión y destino que su tripulación desconocía.
A las 03:15 la embarcación llegó a un punto en medio del canal, echó el ancla y empezó a dragar, pocos entendía que es lo que buscaban: los cables submarinos que unían Alemania con sus colonias y con el resto del mundo. Bourdeaux y el Alert estaban ejecutando una de las primeras acciones estratégicas de guerra de información del mundo... Leer más ...
function saveData(){
popup.close();
//alert("PASA");
if(document.f.dir[0].checked){alert("dentro del primer if");
indicaciones.push("Gire a la derecha. "+document.f.extra.value);
}else if (document.f.dir[1].checked)
indicaciones.push("Gire a la izquierda. "+document.f.extra.value);
else if (document.f.dir[2].checked)
indicaciones.push("Siga recto. "+document.f.extra.value);
else
indicaciones.push(" "+document.f.extra.value);
var... Leer más ...
... var dlng = endLatLng.lng() - startLatLng.lng();
// We multiply dlng with cos(endLat), since the two points are very closeby,
// so we assume their cos values are approximately equal.
var yaw = Math.atan2(dlng * Math.cos(endLatLng.lat() * RADIAN_PER_DEGREE), dlat)
* DEGREE_PER_RADIAN;
return wrapAngle(yaw);
}
function wrapAngle(angle) {
if (angle >= 360) {
angle -= 360;
} else if (angle < 0) {
angle += 360;
}
return angle;
};
function next()
{
var A = map.getCenter(); alert(A);
1.- Así es trabajo con el APi de GMaps.
2.- Efectivamente tengo un evento que me captura las pulsaciones en el mapa y me dibuja una marca. Al pulsar el marker, se me abre la ventana asociada a este marker. Este es el código:
function saveData(mark){
var indicaciones;
// alert("SI");
mark.closeInfoWindow(); alert(mark);
indicaciones.push(mark);
}
function principal{
//...eventos variables y demás cosas
var html = "Derecha: <input type='radio' id= 'dirDer' value='Derecha'/><br>
Izquierda:<input type='radio' id= 'dirIzq' value='Izquierda'/> <br>
Otra indicación: <input type='text' id='extra' name = 'extra'/> <br>
<input type='button' value='Guardar' onclick='saveData(marker)'/>"
Al pulsar el botón yo quiero coger en la función savedata que es lo que marcó el usuario. Y si escribió algo.
He estado probando con el método que me has dicho, pero tampoco sé usarlo... Leer más ...
...type="text/javascript">
google.load("earth", "1");
var ge = null;
function init() {
google.earth.createInstance("map3d", initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
ge.getOptions().setStatusBarVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
var lookAt = ge.createLookAt('');
lookAt.setLatitude(40.417042);
lookAt.setLongitude(-3.700000);
lookAt.setRange(5000.0);
ge.getView().setAbstractView(lookAt);
La solución que se me ocurre pero que no termina de gustarme, es añadir el siguiente código que añade un evento que se ejecuta cuando movemos el ratón de tal manera que la vista deja de estar inclinada
function enderezar_vista(event) {
var lookAt = ge.getView().copyAsLookAt(ge.ALTITUDE_RELATIVE_TO_GROUND);
lookAt.setTilt(0... Leer más ...
function init() {
google.earth.createInstance("map3d", initCB, failureCB);
}
function initCB(instance) {
ge = instance;
ge.getWindow().setVisibility(true);
ge.getOptions().setStatusBarVisibility(true);
ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);
// Creamos la vista para que salga centrado
var lookAt = ge.createLookAt('');
lookAt.setLatitude(42.32331619631114);
lookAt.setLongitude(2.598912324753657);
lookAt.setRange(400000.0);
ge.getView().setAbstractView(lookAt);
createMultiGeometry();
}
function failureCB(object) { alert('Error al generar el circulo');
}
//coordenadas alrededor de las que se dibujará el circulo
var lat1="42.32331619631114";
var lon1="2.598912324753657";
var radio="25000";//radio del circulo en metros
var pi = Math.PI;
//convertimos los grados a radianes
lat1 = lat1 * pi / 180;
lon1 = lon1 * pi / 180;
//convertimos el radio segun el elipsoide de referencia WGS 84 en.wikipedia.org/ ..._the_Earth
var d_radio = radio/6378137;
function createMultiGeometry() {
function dibujar_circulo() {
var center... Leer más ...
...
/*
la segunda coordenada se obtiene restando el valor obtenido
en el codigo anterior a las coordenadas originales.
NO SE SI ES CORRECTO ESTO
*/
pm = new Polygon(42.32331619631114,2.598912324753657,42.32331619631114-lat2,2.598912324753657-lon2,document.getElementById('polygonselect').value);
// Creamos la vista para que salga centrado
var lookAt = ge.createLookAt('');
lookAt.setLatitude(42.32331619631114);
lookAt.setLongitude(2.598912324753657);
lookAt.setRange(400000.0);
ge.getView().setAbstractView(lookAt);
}
function failureCB(object) {
// alert('load failed');
}
...kmlUrl = 'http://www.aguademexico.com.mx/padron/kmls/df.kml';
}
if (fichero=="2")
{
var kmlUrl = 'http://www.aguademexico.com.mx/padron/kmls/ctassusp.kml';
}
if (fichero=="3")
{
var kmlUrl = 'http://www.aguademexico.com.mx/padron/kmls/Legaria.kml';
}
// fetch the KML
google.earth.fetchKml(ge, kmlUrl, function(kmlObject) {
if (kmlObject) {
// se muestra en Google Earth
currentKmlObjects[fichero] = kmlObject;
ge.getFeatures().appendChild(kmlObject);
} else {
// en caso de que no exista el fichero kml o sea corrupto
currentKmlObjects[fichero] = null;
//Alerta en devolución de la llamada a la API y los controladores de eventos
//para evitar estancamiento en algunos navegadores
setTimeout(function() { alert('Bad or null KML.');
}, 0);
// elimina la marca del checkbox
document.getElementById('kml-' + fichero + '-check').checked = '';
}
});
}
// fetch the KML
google.earth.fetchKml(ge, kmlUrl, function(kmlObject) {
if (kmlObject) {
// se muestra en Google Earth
currentKmlObjects[fichero] = kmlObject;
ge.getFeatures().appendChild(kmlObject);
} else {
// en caso de que no exista el fichero kml o sea corrupto
currentKmlObjects[fichero] = null;
//Alerta en devolución de la llamada a la API y los controladores de eventos
//para evitar estancamiento en algunos navegadores
setTimeout(function() { alert('Bad or null KML.');
}, 0);
// elimina la marca del checkbox
document.getElementById('kml-' + fichero + '-check').checked = '';
}
});
}
se ve que construye el nombre con la variable file que recibe como parámetro (que por cierto, se la cambio por otro nombre para que funcionara el siguiente if ya que file es una palabra reservada)
Si trato de hacer un if como este, creo que debería de funcionar ya que la palabra que le pasa como parámetro a la función es red o yellow o green y en el condicional si que lo detecta pero no carga el fichero y me da un error diciendo que red no está definido.
if (file=="red")
{
window.alert(file);
var kmlUrl = 'http://earth-api-samples.googlecode.com/svn/trunk/' + 'examples/static/' + red + '.kml';
}
else if (file=="yellow")
{
window.alert(file);
var kmlUrl = 'http://earth-api-samples.googlecode.com/svn/trunk/' + 'examples/static/' + yellow + '.kml';
}
else
{
window.alert(file);
var kmlUrl = 'http://earth-api-samples.googlecode.com/svn/trunk/' + 'examples/static/' + green + '.kml';
}
Mis conocimientos de javascript son bastante limitados e igual estoy haciendo una barbaridad
Sigo peleándome
... var path="http://code.google.com/articles/support/earthapikml.kml"
google.load('earth', '1');
var ge = null;
function init() {
google.earth.createInstance('map3d', initCallback, failureCallback);
}
function initCallback(pluginInstance) {
ge = pluginInstance;
ge.getWindow().setVisibility(true);
var link = ge.createLink('');
link.setHref(path);
var networkLink = ge.createNetworkLink('');
networkLink.setLink(link);
networkLink.setFlyToView(true);
ge.getFeatures().appendChild(networkLink);
//window.alert("Ahora deberias verlo (espera a que cargue)");
//ge.getFeatures().removeChild(networkLink);
//window.alert("Ahora no deberias verlo");
}
function ocultar(pluginInstance) {
ge = pluginInstance;
ge.getWindow().setVisibility(true);
var link = ge.createLink('');
link.setHref(path);
var networkLink = ge.createNetworkLink('');
networkLink.setLink(link);
networkLink.setFlyToView(true);
//ge.getFeatures().appendChild(networkLink);
//window.alert("Ahora deberias verlo (espera a que... Leer más ...
Estoy haciendo una págian web, donde se podrñán ver distitntos puntos de una ciudad en particular, junto a otra información que va a ir cambiando dinámicamente. Es por ello que necesito realizar una función de refresco (refreshKml()), para poder actualizar la imagen de Google Earth.
Tengo que mencionar que no estoy ocupando la aplicación, sino que la API que deja GE empotrado en la página.
Si me pudieran ayudar se los agradesco, esto es lo que tengo hasta ahora:
function reloadKml()
{
ge.getWindow().setVisibility(true);
var href = 'http://x.x.x/kml/data.kml';
google.earth.fetchKml(ge, href, finishFetchKml);
kmlObject = ge.getFeatures().getChildNodes();
document.getElementById('geplugin_version').innerHTML = ge.getPluginVersion();
}
function finishFetchKml(kmlObject) {
if (kmlObject) {
currentKmlObject = kmlObject;
ge.getFeatures().appendChild(currentKmlObject);
document.getElementById('geplugin_version').innerHTML = ge.getPluginVersion(); alert
}
else {
setTimeout(function() { alert('Bad or null KML.');
}, 0);
}
}
hace un rato que vi unas imagenes en la fox :S y se ve la gente caminando por encima del ala del avion hacia un barco de pasajeros :O... y como siempre el titual de la noticia es alert siempre con la misma sicosis