zoom to geojson polygons bounds in Google Maps API v3

Ich lade Geojson aus einer Postgis-Datenbank und möchte es auf meiner Karte anzeigen. Nach dem Zeichnen eines Polygons soll die Karte auf die Ausmaße des hinzugefügten Polygons gezoomt werden.

Meine Daten werden gut geladen und korrekt auf der Karte angezeigt, aber ich kann nicht herausfinden, wie ich die Grenzen ermitteln und den Zoom auf das neu hinzugefügte Polygon ändern kann. Ich habe versucht, Teile des Codes von Googles @ zu verwendeDatenebene: Beispiel für Drag & Drop von GeoJSON, aber die angezeigte Karte zoomt irgendwo im Pazifischen Ozean in der Nähe der Baker Islands heran, während das Polygon in Luxemburg korrekt angezeigt wird.

Hier der Code, den ich benutze:

window.addEventListener("load", func1);

function func1(){
  //Load mapdata via geoJson
  var parzelle = new google.maps.Data();
  parzelle.loadGeoJson("./mapdata/get_parzelle_geojson.php<?php echo  "?gid=".$_GET['gid'];?>");

  // Set the stroke width, and fill color for each polygon
  var featureStyle = {
    fillColor: '#ADFF2F',
    fillOpacity: 0.1,
    strokeColor: '#ADFF2F',
    strokeWeight: 1
  }

  parzelle.setStyle(featureStyle);
  parzelle.setMap(map);

  zoom(map);
}

function zoom(map) {
  var bounds = new google.maps.LatLngBounds();
  map.data.forEach(function(feature) {
    processPoints(feature.getGeometry(), bounds.extend, bounds);
  });
  map.fitBounds(bounds);
}

function processPoints(geometry, callback, thisArg) {
  if (geometry instanceof google.maps.LatLng) {
    callback.call(thisArg, geometry);
  } else if (geometry instanceof google.maps.Data.Point) {
    callback.call(thisArg, geometry.get());
  } else {
    geometry.getArray().forEach(function(g) {
      processPoints(g, callback, thisArg);
    });
  }
}

ibt es eine Möglichkeit, das zum Laufen zu bringen? Es scheint, dass es keine einfache Methode gibt, um die Grenzen von Polygonen in @ zu ermittelgoogle.maps.data-layers.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage