Ho creato un programma ciao mondo per caricare un file KML locale (preso in prestito dalla documentazione di Google):Caricamento di un file .kml locale utilizzando google maps?
var ctaLayer = new google.maps.KmlLayer("http://localhost:8080/kml/cta.kml");
questo non funziona (nulla viene caricato).
Tuttavia, quando cambio quella linea a:
var ctaLayer = new google.maps.KmlLayer("http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml");
si carichi correttamente. Entrambi i file kml sono identici. Cosa devo fare per caricarlo quando lo sto servendo da solo? (Ho provato entrambi i percorsi assoluti e relativi, e so che i sentieri che sto usando sono corrette ...)
Inoltre ho aggiunto il tipo MIME corretto per il file di configurazione del mio appserver:
<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>
Ma ancora non carica.
ho trovato questo in docs di Google:
L'API di Google Maps supporta i formati di dati KML e GeoRSS per la visualizzazione di informazioni geografiche. Questi formati di dati vengono visualizzati su una mappa utilizzando un oggetto KmlLayer, il cui costruttore prende l'URL di un file KML o GeoRSS accessibile pubblicamente.
quindi credo che quello che sto cercando di fare è non possibile senza servire il file KML da un URL accessibile al pubblico ... a meno che qualcuno può dimostrare il contrario
cosa succede quando visiti l'URL KML locale nel browser? –