Pergunta

Is there any way I can use a KMZ file in Google Maps? My KML file is around 10.7MB so it doesn't load on Google Maps. KMZ file is around 2MB. The only way I see it is to have multiple KML but it's too much work. I might end up doing that, but was just wondering if KMZ can be used?

Thanks.

Foi útil?

Solução

Yes, you can specify a KMZ file using the Maps API:

var kmzLayer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekmz');
kmzLayer.setMap(map);

In your specific case, your script should look like this:

<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>

BUT - your KML is too big. Even though it's compressed down to 2MB as a KMZ, Maps looks at the size after it's been decompressed, and in your case that's bigger than 10MB. Try cutting it down a bit - if you replace your KMZ URL with the one in the first snippet above, it will work. Looks like you'll need to use multiple KML files. Perhaps you could load the KMZ into Google Earth, then save each province as its own file (right-click on the folder in Earth's "Places" tab, and select Save as...)

Outras dicas

Yes, you can specify a KMZ file the exact same way you would specify a KML file you can even set both at the same time notice how nothing changes except for the variable name and file extension:

var kmz_Layer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekmz');
var kml_Layer = new google.maps.KmlLayer('http://www.kmzlinks.com/redirect.asp?id=110&file=PalmIsland%2Ekml');
kml_Layer.setMap(map);
kmz_Layer.setMap(map);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top