Sì, è possibile specificare un file KMZ utilizzando l'API Maps:
var kmzLayer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekmz');
kmzLayer.setMap(map);
Nel vostro caso specifico, lo script dovrebbe essere così:
<script type="text/javascript">
function initialize() {
var myOptions = {
center: new google.maps.LatLng(58.33, -98.52),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var kmzLayer = new google.maps.KmlLayer('http://xeenat.com/energy/data.kmz');
kmzLayer.setMap(map);
}
</script>
MA - il KML è troppo grande . Anche se è compresso fino a 2 MB come KMZ, Maps analizza le dimensioni dopo che è stato decompresso e nel tuo caso è più grande di 10 MB. Prova a ridurlo un po '- se sostituisci il tuo URL KMZ con quello nel primo frammento sopra, funzionerà. Sembra che dovrai utilizzare più file KML. Forse potresti caricare KMZ in Google Earth, quindi salvare ogni provincia come proprio file (fai clic con il tasto destro sulla cartella nella scheda "Luoghi" di Earth e seleziona Salva come ...)
fonte
2012-03-21 18:17:10
nel codice, mappa non è dichiarato come una variabile globale, quindi quando la chiami, viene visualizzata un'eccezione: Uncaught ReferenceError: map is not defined. È necessario inserire var map; prima della funzione di inizializzazione() { –
Sembra che KMZ non sia di aiuto in questo caso - c'è ancora una restrizione di dimensione sul KML non compresso da KMZ: https://developers.google.com/kml/documentation/mapsSupport –
@MikeJeffrey Sono molto nuovo in JavaScript e ho fatto ciò che hai detto, ma ora la mia mappa non si sta caricando. In realtà ho ottenuto tutto lo snippet di codice dalla documentazione di Google Maps v3. – mapr