it-swarm.com.de

Verwendung von KMZ-Dateien in Google Maps

Kann ich eine KMZ-Datei in Google Maps verwenden? Meine KML-Datei hat eine Größe von ca. 10,7 MB, wird also nicht in Google Maps geladen. Die KMZ-Datei ist ungefähr 2 MB groß. Der einzige Weg, den ich sehe, ist, mehrere KML-Dateien zu haben, aber es ist zu viel Arbeit. Ich könnte am Ende tun, aber habe mich nur gefragt, ob KMZ verwendet werden kann?

Vielen Dank.

11
kaoscify

Ja, Sie können eine KMZ-Datei mit der Maps-API angeben:

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

In Ihrem speziellen Fall sollte Ihr Skript folgendermaßen aussehen:

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

ABER - Ihr KML ist zu groß. Obwohl Maps als KMZ auf 2 MB komprimiert ist, wird die Größe nach der Dekomprimierung überprüft. In Ihrem Fall sind es mehr als 10 MB. Versuchen Sie es ein wenig zu reduzieren - wenn Sie Ihre KMZ-URL durch die im ersten Snippet oben ersetzten, funktioniert es. Sieht so aus, als müssten Sie mehrere KML-Dateien verwenden. Vielleicht können Sie die KMZ in Google Earth laden und dann jede Provinz als eigene Datei speichern (klicken Sie mit der rechten Maustaste auf den Ordner auf der Registerkarte "Orte" der Erde und wählen Sie Speichern unter ...).

16
Mike Jeffrey

Ja, Sie können eine KMZ-Datei genauso angeben wie eine KML-Datei. Sie können sogar beide gleichzeitig festlegen. Beachten Sie, dass sich bis auf den Variablennamen und die Dateierweiterung nichts ändert:

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);
2
rhodesit