Aqui te dejo el codigo que hice de prueba. Esto va dentro de la funcion Ext.onReady.
earthPanel.on('earthLoaded', function(){
//Esto fue lo que cambie de la pagina que tu me distes. No creo el loockAt como lo hacen en esa pagina, si no lo creo como lo hacen en la funcion de busqueda findlocation.
var lookAt = this.earth.createLookAt('');
// Set the position values
lookAt.setLatitude(6.42375);
lookAt.setLongitude(-66.58973);
lookAt.setRange(3000000.0); //default is 0.0.
// Update the view in Google Earth
this.earth.getView().setAbstractView(lookAt);
Esto lo pongo para que te ubiques en el ejemplo
// Add panels
controlPanel.add(earthPanel.getKmlPanel());
controlPanel.add(earthPanel.getLocationPanel());
controlPanel.add(earthPanel.getLayersPanel());
controlPanel.add(earthPanel.getOptionsPanel());
controlPanel.doLayout();
});
Por lo que yo entendi la visibilidad si es booleano mas no se coloca como true o false especificamente sino como 0 ó 1, que viene siendo lo mismo escrito diferente.
Si _polifemo yo revice el codigo donde puedes buscar una ubicación y utiliza el loockAt con ese método que tu me comentas, yo me puse a probar y en una de las paginas que me pasaste crean un lookAt y le pasan coordenadas y la distancia donde debe pocisionar la camara, entonces agarre uno de esos ejemplos y lo adapte al codigo que tengo y si realizo el zoom, ahi se me cumplica un poco la forma de trabajar si son varias coordenas que tiene que mostrar (por ejemplo un recorrido por un estado), pero ya es un adelanto y con eso del alguna manera lo resuelvo.
¿Deduzco entonces que has conseguido que tu página interprete correctamente la parte del código correspondiente al LookAt? Yo no lo conseguí.
Te lo comento por que en ese caso, si loque quieres es hacer recorridos tienes objetos mas apropiados ( code.google.com/ ...gxplaylist // code.google.com/ ...rprimitive ).
Si lo que tu dices de los kml es cierto, y yo trabajando siempre sobre ellos. Estos se generan de forma dinamica de la base de datos, pero yo los he revizado y... Leer más ...
Si _polifemo yo revice el codigo donde puedes buscar una ubicación y utiliza el loockAt con ese método que tu me comentas, yo me puse a probar y en una de las paginas que me pasaste crean un lookAt y le pasan coordenadas y la distancia donde debe pocisionar la camara, entonces agarre uno de esos ejemplos y lo adapte al codigo que tengo y si realizo el zoom, ahi se me cumplica un poco la forma de trabajar si son varias coordenas que tiene que mostrar (por ejemplo un recorrido por un estado), pero ya es un adelanto y con eso del alguna manera lo resuelvo.
Si lo que tu dices de los kml es cierto, y yo trabajando siempre sobre ellos. Estos se generan de forma dinamica de la base de datos, pero yo los he revizado y ninguno tiene lookAt. Lo que le ponen es visivilidad 1 y lei por ahi que ya con eso GE enfoca la camara. Solo que por lo que entendi el lookAt es mucho mas potente, ya que puedes darle un angulo a la camara y otras cosas mas.
Bueno en esa pagina lo que hay es un API bastante sencillito (no se si eso abarque todo), pero esta es la ruta code.google.com/ ...umentation.
Me gusto participar en este foro aprendi algo nuevo.
lomd, curioseando en tu link, fijate que el ejemplo del "hello earth" (arriba a la izquierda) thematicmapping.org/ ...earth.html si se realiza un zoom. Utiliza un método llamado findlocation sobre un objeto de clase GEarthPanel. este parece que trabaja sobre un string, pero tal vez coja objetos GLonLat, o directamente coordenadas. Si no debe haber uno equivalente para coordenadas.
Un consejo: dices que el proyecto inicial está hecho con VB, eso debería permitirte trabajar contra los Xml (o si no, tal vez con Ajax) y buscar dentro del kml las etiquetas LookAt o Camera y de ahí extraer las longitudes y latitudes. Así, una vez determinado el método que precises (findlocation o el que sea) le pases los parámetros de acuerdo a la sintaxis.
Es mas facil de decir que de programar, claro pero creo que funcionaría
Respecto al tema de la versión, espero que no. Como empecemos con problemas de compatibilidades mal asunto.
¿Una última cosa, donde está el acceso al API de la página que has linkado?, no lo encuentro por ningún lado
Si aparentemente es como que si no interpretara correctamente el codigo kml. Tu crees que pueda ser un problema la vesion que uso?
Yo estoy trabajando sobre un api de google earth adaptado a un framework de javascript que se llama Extjs (ya que el sitio lo estoy desarrollando con ese framework). Esta es la página de donde lo descargue code.google.com/ ...earth-api/ y aqui ponen un ejemplo thematicmapping.org/ ...ample.html. Si te puedes fijar en el ejemplo si tu seleccionas algunos de los checks box añade o elimina componentes sobre el mapa, pero no realiza ningun acercamiento o enfoque de camara.
Voy a revizar las paginas que me distes y ver que puedo hacer.
La verdad Lomd es que no veo donde puede estar el problema. Otros proyectos han solucionado el problema introduciendo en el código kml las etiquetas de LookAt o camera pero en tu web he cargado archivos con ambos casos y en ninguno de ellos ejecuta la vista. No se si tal vez en el momento de instanciar la ventana de GE, haya que habilitar o deshabilitar alguna opción para poder interpretar esa parte del código. pero es curioso que te cargue todo el contenido del kml (sea este un placemark o un polygon pero no te ejecute la parte de código del LookAt. Prueba a ejecutar este método desde javascript a ver si tienes mas suerte code.google.com/ ...ok_at.html y sobre todo code.google.com/ ...ntrol.html . porque yo reconozco que no alcanzo a ver el problema.
Si _polifemo, lo que pasa es que es necesario tener el plugin de google earth instalado para poder ver la pagina. Ahi mismo en mi pagina te debe decir para descargarlo. Intentaste con firefox?. Ahorita no tengo a la mano la pagina de donde se descarga pero donde deberia aparecer el mapa te pregunta si lo quieres descargar. Si no es eso te agradeciria me dijeras que navegador usas para ver el error xq aqui no me aparece ninguno.
...un framework de javascript que se llama Extjs y php. Estoy usando para las pruebas un kml que genera la aplicacion stanalone. Además he probado con otros kml de ejemplos de google.
Si vez el sitio que estoy haciendo del lado izquierdo donde dice panel de contro tengo un acordeon y el primer elemento dice Kml Documents. Cuando yo le paso un kml, este se despliega ahi como un tree panel (arbol de archivos) y te muestra todas las carpetas y demás componentes del kml.
Mi problema radica en que cuando selecciono un check no se acerca la camara y me muestra centrados los elementos cuyas coordenadas estan en el kml, es decir, tengo que llegar a dichos elementos dibujados en el mapa haciendo zoom manualmente. Por esta razon es que pienzo que mi problema es que no manejo algún evento, ya que el mismo kml en google earth stanalone cuando ejecuto el mismo kml y selecciono algun elemento el solo centra la camara en ese elemento y le hace el zoom automaticamente.
Hola Lomd, la verdad es que no se a que te refieres con "me despliega el kml como un tree (arbol de archivos)". Si puedes poner un ejemplo o linkear tu proyecto sería útil para que nos hicieramos una idea.
El link que te mandé te lleva al objeto kml "LookAt", que forzará la visión de tu ventana a las coordenadas que introduzcas como parámetros, a una escala, y ángulos que tú decidas. Es código kml y deberá estar embebido dentro del código del kml que utilices.
Mas que un Event listener (si es a eso a lo que te refieres), te diría que utilizaras el método "on_click=script en java" dentro de los check.
No se si nos habremos entendido, pues hay muchas cosas en el aire y por concretar. De todos modos no tengas problema alguno en preguntar.
Hola _polifemo gracias por tu respuesta. Yo estoy usando google earth es en una pagina web y estoy utilizando como prueba un kml que funciona bien en google earth desktop. Yo cuando cargo el kml en la web que estoy haciendo me despliega el kml como un tree (arbol de archivos) y cuando activo algun check en el tree no pasa nada en el mapa. Asi que pienso que debe haber un evento que es el que posiciona la camara.
Por lo que entendi en el link que tu me mandaste es que con eso se posiciona la camara y se le pueden dar angulos y muchas otras cosas.
Pero como no hace nada cuando desactivo a activo algo en el kml pienso que debo manejar un listener o algo por el estilo que me ubique la camara.
Buenas ante todo un saludo a todos ya que soy nuevo en el foro.
Lo que estoy tratando de hacer es visualizar unas coordenadas en el mapa de google earth. El problema es que cuando le paso el kml con las coordenadas no me lleva a esa coordenada si no que se queda estatico el mapa y hay que ubicar la coordenada manualmente. Esto es un ejemplo de lo que quiero hacer kml-samples.googlecode.com/ ...solute.kml. Aqui cuando tu seleccionas el kml el mapa te muestra las coordenadas.
Me pregunto si existe alguna funcion para esto o si alguien me puede informar como funciona esto. Gracias