Using KMZ Files in Google Maps
Asked Answered
E

2

13

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.

Exo answered 21/3, 2012 at 18:6 Comment(0)
B
21

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

Biparietal answered 21/3, 2012 at 18:17 Comment(6)
in your code, map isn't declared as a global variable, so when you call it, it comes up with an exception: Uncaught ReferenceError: map is not defined. You need to put var map; before function initialize() {Gannet
Looks like KMZ won't help in this case - there's still a size restriction on the uncompressed KML from the KMZ: developers.google.com/kml/documentation/mapsSupportBiparietal
@MikeJeffrey I'm very new to JavaScript, and I have done what you said but now my map isn't loading. I actually got that whole code snippet from the Google Maps v3 documentation.Exo
@ManoMarks 2.58MB is the size of my KMZ file. Should be okay?Exo
Edited my answer to include specific info.Biparietal
Great! Glad I could help :) Please accept the answer by clicking the checkmark if you feel it's correct.Biparietal
K
2

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);
Kokanee answered 10/2, 2015 at 22:53 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.