creé un programa hola mundo para cargar un archivo KML local (tomado de documentos de Google):Cargando un archivo .kml local usando google maps?
var ctaLayer = new google.maps.KmlLayer("http://localhost:8080/kml/cta.kml");
esto no funciona (no se carga).
Sin embargo, cuando cambio a esa línea:
var ctaLayer = new google.maps.KmlLayer("http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml");
se carga correctamente. Ambos archivos kml son idénticos. ¿Qué debo hacer para que se cargue cuando lo sirva yo mismo? (Probé ambas rutas absolutas y relativas, y sé que los caminos que estoy utilizando son correctos ...)
También he añadido el tipo MIME correcto para el archivo de configuración de mi servidor de aplicaciones:
<mime-mapping>
<extension>kml</extension>
<mime-type>application/vnd.google-earth.kml+xml</mime-type>
</mime-mapping>
<mime-mapping>
<extension>kmz</extension>
<mime-type>application/vnd.google-earth.kmz</mime-type>
</mime-mapping>
Pero todavía no se carga
He encontrado esto en Google de docs:
La API de Google Maps es compatible con los formatos de datos KML y GeoRSS para la visualización de información geográfica. Estos formatos de datos se muestran en un mapa utilizando un objeto KmlLayer, cuyo constructor toma la URL de un archivo KML o GeoRSS de acceso público.
así que supongo que lo que estoy tratando de hacer es no posible sin servir al KML a partir de una URL de acceso público ... a menos que alguien pueda demostrar lo contrario
¿Qué sucede cuando visita la URL local de KML en el navegador? –