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
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.
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
Ante todo, gracias por la ayuda.
El tema de la versión 2 es que utilizo para mostrar los tracks gpx funciones que ya están hechas y utiliza esta version (loadgpx.4.js), aunque si la versión 3 permite mostrar los tracks en diferentes formatos sería una buena ocasión para cambiar.
Programo en java y javascript no lo domino mucho (tengo problemas sobre todo con el DOM). Los métodos que me dices ya los he probado y no me devuelven nada (me parece que el fichero no se carga, ya que puse una sentencia if para probar y siempre se iba hacia el fichero no cargado (geoXml.hasLoaded())
¿Falta algo aquí para que coja en defaultCenter?
var geoXml = new GGeoXml("http://...track.kml");
map.setCenter(geoXml.getDefaultCenter(), geoXml.getDefaultBounds());
map.addOverlay(geoXml);
Normal, te aparece medio mundo por que le has ordenado al mapa que se centre en las coordenadas 0 de latitud, 0 de longitud y con un zoom de 2, que corresponde a medio mundo. si en lugar de un 2 pones un 1 verás el mundo entero... y para ver un zoom mas cercano deberás aumentar el valor hasta un máximo de...¿16?. ¿Lo ves en tu código?.
Proceso necesario en el API de la versión 2. El truco consiste en que una vez cargues el layer, ejecutes las funciones necesarias para obtener un centro y un zoom sobre las que revisualizar tu mapa.
paput Escribio:
El problema es que no sé como conseguir las coordenas de la ruta kml para que ya me salga la ruta.
editando el archivo con cualquier editor de texto y buscando la ristra de coordenadas entre las etiquetas <coordinates>...</coordinates> . Leete la estructura del linestring o el elemento que uses en tus archivos (si quieres sube un ejemplo representativo y lo comprobamos).
Hay varios factores a los que afecta ese problema.
Yo haría una prueba
Primero haz una copia del fichero no vaya a ser que falle y te acuerdes de mi de manera poco decorosa
Dentro del Sketchup:
Elimina todo lo que hay en las capas "Google Snapshop" y "Google Terrain" (se escriben algo parecido)
Y recaptura el terreno, asegurate de tener por lo menos la versión 8 de Sketchup, pues ha habido varios cambios en las últimas versiones.
Buenas noches,
Tengo instalada la siguiente versión de Google Earth:
Google Earth 5.1.3534.0411
Procesador OpenGL
Sistema operativo Microsoft Windows XP (Service Pack 3)
Controlador de vídeo NVIDIA Corporation (00006.00014.00010.08474)
Tamaño máx. de la textura 4096x4096
Servidor kh.google.com
Los textos que aparecen sobre los mapas (nombres de las carreteras, poblaciones, coordenadas, elevación, etc.) son ilegibles (ver fichero adjunto). Si alguien me puede decir qué es lo que está pasando se lo agradecería.
Bueno, solucionado, cosa de las definiciones locales de Ubuntu (español) y que Google Earth 5.1 utiliza el punto o la coma según esté definido en el sistema... por ahí van nlos tiros:
Llevo días buscando información de un error con archivos KMZ generados con una versión anterior de Google Earth y que ahora, al instalar la última, no carga correctamente las latitudes y longitudes.
Hasta hace un par de semanas tenía instalado una de las penúltimas versiones de Google Earth. Guardé "Mis lugares" en un archivo KMZ y no tenía ningún problema con ellos.
Ahora he instalado la versión actual del Earth. Al abrir estos archivos KMZ me carga los datos pero posiciona todas las marcas de posicionamiento, así como todos los puntos de las rutas, en la latitud-longitud 28º y -16º
Sin embargo, si vas a la pestaña "ver", los datos de latitud y longitud se ven correctamente. Al hacer doble clic en un punto lo ubica correctamente, sin embargo la marca de posición está en 28º y -16º.
En el caso de las rutas aparecen sin datos y todas sus propiedades con valor "NC".
He intentado buscar algo parecido en el foro oficial de Earth y no he encontrado nada parecido. He enviado varios correos pero sin respuesta y en la red no he encontrado nada sobre... Leer más ...
Buenas,
pues era eso. A partir de una versión de GE no se permite la actualización mediante el <update> de ficheros locales. No es que sea difícil colgar la información para poder permitirlo, pero en mi caso, hago uso del GE en una aplilcación que desarrollo y necesitaba que me actualizara mis ficheros locales. Por otra parte, ¿GoogleEarth permite rutas relativas en el <targerHref>?. He probado con <href> y sí funciona pero con <targetHref> parece q no
Según mi macarrónico inglés he deducido que el fallo puede deberse a que en las versiones más modernas de GE no se permite el <update> a ficheros locales por cuestiones de seguridad. Según veo sólo puede usarse el <update> con referencias web http:... Lo tengo que probar para verificarlo, pero en mi caso tengo en un ordenador la versión 4.0.2091 en la que funciona correctamente el update y en otro hemos puesto la versión 4.20198.2451 donde ya no funciona... Si lo pruebo y es así la cosa ya lo comunicaré...
Gracias!!!
He buscado una solución en internet y me da muchos problemas entre esa tarjeta y la nueva versión de Google Earth.
¿tienes algun volcado del error?
Gracias Google_Master por tu interés. He buscado ficheros ordenándolos por fecha en la carpeta de instalación y no veo nada de las ejecuciones de hoy. De hecho, en la pantalla no sale ningún mensaje de error. La aplicación arranca aparentemente bien hasta los 10-15 seg en que se queda todo congelado. Ni siquiera me funciona el administrador de tareas.
Quizás deberia buscar los últimos drivers originales de ATI. Lo fastidioso es que la tarjeta no tiene más de un año y de hecho aguanta perfectamente juegos muy pesados y con altas capacidades gráficas.