Mostrar/Ocultar

 Capas en Google Earth 🗺️ Foros de Google Earth y Maps 🗺️ p80 🗺️


Foro de Programación de Google Earth y Maps  Foro de Programación de Google Earth y Maps: Programación con las APIs de Google: Google Earth, Google Maps, KML, Aplicaciones Moviles
Responder al tema Versión Imprimible
Página 1 de 1 - Tema con 15 Mensajes y 30382 Lecturas
Último Mensaje:
Foro de Programación de Google Earth y Maps Ver más mensajes sobre Capas en Google Earth en el foro
Autor Mensaje

Morta
Veterano
Veterano
Registrado:09-10-2008
Mensajes: 64

Votos: 0 👍

EnlacesAsunto: Re: Capas en Google Earth

Publicado:
Responder citando
Bueno, ya lo he conseguido. Estaba considerando las palabras red, yellow y green como variables en mi if. Menudo fallo!
Este es el código. Permite cargar tres ficheros que le indiquemos y verlos o no según seleccionamos. Es decir como si fuesen capas.

Polifemo, te agradezco mucho la ayuda que me has prestado. Llevaba tiempo detrás de esto y anda que no he dado palos de ciego hasta ahora!!

Un saludo



<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="CHARSET" CONTENT="ISO-8859-1">
<title>Capas en Google Earth</title>
<!--SUSTITUYE POR TU KEY API-->
<script src="http://www.google.com/jsapi?key=ABQIAAAArCZgeQ8ddm8YbeJQqqHN5BTYrZjdppbykE52CdH9dtH9wJ0VsBQSgm6ZbaTJsaMARyyYkz_JttmHMQ"></script>

<script type="text/javascript">
function addSampleButton(caption, clickHandler) {
var btn = document.createElement('input');
btn.type = 'button';
btn.value = caption;

if (btn.attachEvent)
btn.attachEvent('onclick', clickHandler);
else
btn.addEventListener('click', clickHandler, false);

// Añade botón
document.getElementById('sample-ui').appendChild(btn);
}

function addSampleUIHtml(html) {
document.getElementById('sample-ui').innerHTML += html;
}
</script>

<script type="text/javascript">
var ge;

// store the object loaded for the given fichero... Initially none of the objects
// are loaded, so initialize these to null
var currentKmlObjects = {
'red': null,
'yellow': null,
'green': null
};

google.load("earth", "1");

function init() {
google.earth.createInstance('map3d', initCallback, failureCallback);

addSampleUIHtml(
'<h2>Como cargar varios ficheros kml en Google Earth y visualizarlos a modo de capas independientes</h2>' +
'<input type="checkbox" id="kml-red-check" checked onclick="toggleKml(\'red\');"/><label for="kml-red-check">Recorrido del descenso</label><br/>' +
'<input type="checkbox" id="kml-yellow-check" checked onclick="toggleKml(\'yellow\');"/><label for="kml-yellow-check">Situación</label><br/>' +
'<input type="checkbox" id="kml-green-check" checked onclick="toggleKml(\'green\');"/><label for="kml-green-check">Acceso y retorno</label><br/>'
);
}

function initCallback(instance) {
ge = instance;
ge.getWindow().setVisibility(true);

// se añade control de navegación
ge.getNavigationControl().setVisibility(ge.VISIBILITY_AUTO);

// se añaden capas
ge.getLayerRoot().enableLayerById(ge.LAYER_BORDERS, true);
ge.getLayerRoot().enableLayerById(ge.LAYER_ROADS, true);

// nos situamos en el mapa
var la = ge.createLookAt('');
la.set(42.7052, -0.3295,
0, // altitude
ge.ALTITUDE_RELATIVE_TO_GROUND,
0, // heading
0, // straight-down tilt
1000 // range (inverse of zoom)
);
ge.getView().setAbstractView(la);

//carga el fichero que seleccionemos en el checkbox
if (document.getElementById('kml-red-check').checked)
loadKml('red');

if (document.getElementById('kml-yellow-check').checked)
loadKml('yellow');

if (document.getElementById('kml-green-check').checked)
loadKml('green');
}

function failureCallback(errorCode) {
}

function toggleKml(fichero) {
// borra los kml que pudieran existir anteriormente
if (currentKmlObjects[fichero]) {
ge.getFeatures().removeChild(currentKmlObjects[fichero]);
currentKmlObject = null;
}

// Si se selecciona el checkbox carga el fichero y lo muestra
var kmlCheckbox = document.getElementById('kml-' + fichero + '-check');
if (kmlCheckbox.checked)
loadKml(fichero);
}

function loadKml(fichero) {
if (fichero=="red")
{
var kmlUrl = 'http://www.topocanyons.info/pruebas_php/capa_recorrido.kml';
}
else if (fichero=="yellow")
{
var kmlUrl = 'http://www.topocanyons.info/pruebas_php/capa_situación.kml';
}
else
{
var kmlUrl = 'http://www.topocanyons.info/pruebas_php/capa_track.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 = '';
}
});
}

</script>
</head>
<body>
<body onload="init()" style="font-family: arial, sans-serif; font-size: 13px; border: 0;">
<div id="sample-ui"></div>
<div id="map3d" style="width: 800px; height: 600px;"></div>
<br>
</body>
</html>
Ir arriba Morta
Compartir:

_polifemo
SuperExpert
SuperExpert
Registrado:27-11-2009
Mensajes: 436

Votos: 0 👍

EnlacesAsunto: Re: Capas en Google Earth

Publicado:
Responder citando
PUFF estos códigos empiezan a parecerse a manuscritos en sanscrito o algo así.

Gracias por nada, he aprendido y mucho mientras te hechaba una mano.

PD: ya nos dejaras el link cuando tengas acabada la página.
Ir arriba _polifemo
Compartir:

Morta
Veterano
Veterano
Registrado:09-10-2008
Mensajes: 64

Votos: 0 👍

EnlacesAsunto: Re: Capas en Google Earth

Publicado:
Responder citando
Es lo que tiene esto del código... Sonriente y mas con lo enrevesado que es el código de la API (al menos para mi).

A veces nos obcecamos con algo y dieciocho ojos ven mas que dos. Es lo bueno de los foros cuando la gente los utiliza para compartir conocimientos

Bueno, que me enrollo. Ahí va la página
www.topocanyons.info/ ...capas.html

Un saludo y muchas gracias
Ir arriba Morta
Compartir:

Fercanez
Usuario Reciente
Usuario Reciente
Registrado:16-04-2010
Mensajes: 7
Ubicación: Baja California
Visitar sitio web del autor MSN Messenger Perfil de Instagram
Votos: 0 👍

EnlacesAsunto: Re: Capas en Google Earth

Publicado:
Responder citando
MORTA, UNA PREGUNTA, HAZ INTENTADO HACER ESTO COMBINANDOLOS CON EL API DE GOOGLE MAP? OSEA QUE TENGA LAS DOS OPCIONES, YA SEA PARA VERLO EN EL GOOGLE EARTH API O GOOGLE MAP API, EN UNA MISMA PAGINA? ES LO QUE ESTOY TRATANDO DE HACER....
TE LO DIGO PORQUE TARDA MUCHO EL API DEL EARTH EN COMPARACION DEL API DEL MAPS
POR CIERTO, LE DISTE AL CLAVO CON LO QUE NECESITABA
Ir arriba Fercanez
Compartir:

Fercanez
Usuario Reciente
Usuario Reciente
Registrado:16-04-2010
Mensajes: 7
Ubicación: Baja California
Visitar sitio web del autor MSN Messenger Perfil de Instagram
Votos: 0 👍

EnlacesAsunto: Re: Capas en Google Earth

Publicado:
Responder citando
MORTA, UNA PREGUNTA, HAZ INTENTADO HACER ESTO COMBINANDOLOS CON EL API DE GOOGLE MAP? OSEA QUE TENGA LAS DOS OPCIONES, YA SEA PARA VERLO EN EL GOOGLE EARTH API O GOOGLE MAP API, EN UNA MISMA PAGINA? ES LO QUE ESTOY TRATANDO DE HACER....
TE LO DIGO PORQUE TARDA MUCHO EL API DEL EARTH EN COMPARACION DEL API DEL MAPS
POR CIERTO, LE DISTE AL CLAVO CON LO QUE NECESITABA
Ir arriba Fercanez
Compartir:

India
Master_GE
Master_GE
Registrado:16-07-2009
Mensajes: 4062
Ubicación: .uy

Votos: 0 👍

EnlacesAsunto: Re: Capas en Google Earth

Publicado:
Responder citando
Que precioso y bien logrado que quedó ese trabajo Aplausos surprise Aplausos
Ir arriba India
Compartir:

Morta
Veterano
Veterano
Registrado:09-10-2008
Mensajes: 64

Votos: 0 👍

EnlacesAsunto: Re: Capas en Google Earth

Publicado:
Responder citando
Hola Fercanez (no se por qué, tu nick me resulta familiar)
No, no lo he intentado. Supongo que se pueda hacer pero no lo se realmente. Ya nos contarás tus progresos
Saludos

Mas tarde he recordado que en Wikiloc existe, creo, lo que dices
Por ejemplo
es.wikiloc.com/ ...?id=834097
Ir arriba Morta
Compartir:
Mostrar mensajes de anteriores:   
 Responder al tema   Versión Imprimible
Todas las horas son GMT + 1 Hora
Página 1 de 1 - Tema con 15 Mensajes y 30382 Lecturas - Última modificación: 18/04/2010




RSS: Foro Programación de Google Earth y Maps RSS - Ultimos Mensajes
Cambiar a:  


Puede publicar nuevos temas en este foro
No puede responder a temas en este foro
No puede editar sus mensajes en este foro
No puede borrar sus mensajes en este foro
No puede votar en encuestas en este foro
No Puedes adjuntar archivos en este foro
Tu puedes descargar archivos en este foro



Mostrar/Ocultar Últimas Fotos del Foro