Como centrar el mapa desde el fichero kml 🗺️ Foros de Google Earth y Maps 🗺️ p81 🗺️


  Foro de Programación de Google Earth y Maps: Programación con las APIs de Google: Google Earth, Google Maps, KML, Aplicaciones Moviles

SubForos: KML - Kmz
Página 1 de 1 - Tema con 18 Mensajes y 27588 Lecturas
Último Mensaje Publicado:
 Ver más mensajes sobre Como centrar el mapa desde el fichero kml en el foro
Autor Mensaje
_polifemo

SuperExpert
Registrado:27-11-2009
Mensajes: 436

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
paput Escribio:
P.D.: las funciones geoXml.getDefaultCenter() y getDefaultBounds() devuelven null.

No he tenido tiempo de indagar. Pero advierten los manuales de referencia que estos métodos deben ser llamados una vez cargado el kml.

Prueba a usar las funciones dentro de un IF hasLoaded() THEN
Ir arriba
Paput

Usuario Reciente
Registrado:12-09-2011
Mensajes: 8

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
Esto ya lo he hecho, y como he dicho en el mensaje anterior, nunca me devuelve true hasLoaded().
Una idea que tenía es centrarme en un punto del kml. Alguien sabe alguna función sencilla que me coja el primer punto por ejemplo. ¿Cómo puedo acceder al fichero kml en el DOM y que me devuelva el primer punto?
Gracias, polifemo y a todos
Ir arriba
Paput

Usuario Reciente
Registrado:12-09-2011
Mensajes: 8

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
He estado investigando la versión 3 y, efectivamente, no hay problema en el centrado (muy bien polifemo) pero como me temía para los tracks con el api loadgpx.4 no funciona, ya que utiliza la versión 2.
He intentado coger el primer punto del tag <coordinates> pero no consigo acceder al fichero desde javascript
var request = GXmlHttp.create();
request.open("GET",path, true);
kmlDoc = request.responseXML;
var trackpoint = kmlDoc.getElementsByTagName("coordinates");

En firefox me da error que kmlDoc no tiene propiedades.

Alguien me puede ayudar en cómo acceder al fichero xml y conseguir la pirmera coordenada del track?
Gracias
Ir arriba
_polifemo

SuperExpert
Registrado:27-11-2009
Mensajes: 436

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
Buenas paput.

Reconozco que me he lllevado una sorpresa al ver que la clase kmlLayer del APIv3 no carga archivos gpx. A fin de cuentas ambos formatos vienen del XML. ¿Has encontrado algún modo de cargar XML, GML y demás en el nuevo API?.

Volviendo a la versión dos: He encontrado este artículo que aborda la problemática de leer el formato xml y usar sus coordenadas para establecer placemarks mediante el API de gmaps. Creo que podrás abordarlo.

UN AVISO: podría ocurrir que el formato GPX no cumpla con todos los estándares XML. Y dado que estás usando una funcionalidad orientada al formato XML, pues tal vez surjan problemas.

A ver si ahora hay mas suerte, un saludo.
Ir arriba
Paput

Usuario Reciente
Registrado:12-09-2011
Mensajes: 8

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
Hola Polifemo. El método GXmlHttp del artículo es de la versión 2 (es precisamente el que utiliza el loadgpx.4 para leer el fichero gpx). En la versión 3 se utiliza XMLParsing. Estoy tratando de actualizar loadgpx para la versión 3. Si consigo algo ya lo colgaré, a parte de que le enviaré al creador del api por si quiere actualizarlo.
Gracias
Ir arriba
_polifemo

SuperExpert
Registrado:27-11-2009
Mensajes: 436

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
Entiendo que intentas adaptarte a la v3.

Ayer encontré este artículo que aborda la misma problemática pero contra la v3 del API.

Está en Ajax.
Ir arriba
Paput

Usuario Reciente
Registrado:12-09-2011
Mensajes: 8

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
Al final lo he conseguido.
Lo primero es que decididamente me he pasado a la versión 3.
Así, para los ficheros klm no hay problema (como había dicho polifemo)
Para los primeros gpx, he conseguido leerlos con XmlHttpRequest (código creo que lo proporciona google). Esto permite leer ficheros xml, así que cuando se guarda el fichero gpx en el servidor hay que cambiarle la extensión a xml (esto ya había que hacerlo con la versión 2 y loadgpx.4.js).
Se parsea el fichero xml (antes gpx) y se añade un polyline al mapa.
Después, he cambido la función que centraba y cogía el zoom de loadgpx.4 para conseguir lo mismo en la versión 3.
Os dejo el fichero con estas funciones(he cambiado la extensión js a txt ya que el foro no me deja poner ficheros js), seguro que se pueden mejorar, pero yo de javascript no domino mucho.
De esta manera se pueden leer cualquier formato de track que siga el estándard xml, cambiando el tag al que utilice cada formato.
Salut y gracias a todos


gis.txt    Ver en Google Maps
Descripción:
Nombre:  gis.txt
Tamaño:  4.08 KB
Descargado:  190 veces
Ir arriba
_polifemo

SuperExpert
Registrado:27-11-2009
Mensajes: 436

Votos: 0 👍
Asunto: Re: Como centrar el mapa desde el fichero kml  
Hola paput, he estado muy ocupado estos días.

Me alegro que solucionaras el problema y gracias por compartir el código... seguro que resulta de utilidad en un futuro.

Un saludo y esperamos volver a saber de ti.
Ir arriba
SubForos: KML - Kmz
 
Todas las horas son GMT + 1 Hora
Página 1 de 1 - Tema con 18 Mensajes y 27588 Lecturas - Última modificación: 21/09/2011




RSS - Ultimos Mensajes
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