2015-02-18 7 views
23

Ich versuche, eine Karte zu erstellen, mit Grundrisse, die ich in mongodb gespeichert habe. Wenn ich den JSON in eine Datei stecke, kann ich ihn mit map.data.loadGeoJson('myfile.json')Laden eines GeoJSON-Objekts direkt in Google Maps v3

aufrufen. Ich möchte jedoch nicht jedes Mal eine Datei speichern, wenn ich eine Karte erstelle, und ich würde lieber ein Objekt direkt schreiben. So etwas wie dieses:

var tempObject = { 
    "type": "FeatureCollection", 
    "features": [ 
     { 
     "type": "Feature", 
     "properties": { 
      "letter": "G", 
      "color": "blue", 
      "rank": "7", 
      "ascii": "71" 
     }, 
     "geometry": { 
      "type": "Polygon", 
      "coordinates": [ 
      [ 
       [123.61, -22.14], [122.38, -21.73], [121.06, -21.69], [119.66, -22.22], [119.00, -23.40], 
       [118.65, -24.76], [118.43, -26.07], [118.78, -27.56], [119.22, -28.57], [120.23, -29.49], 
       [121.77, -29.87], [123.57, -29.64], [124.45, -29.03], [124.71, -27.95], [124.80, -26.70], 
       [124.80, -25.60], [123.61, -25.64], [122.56, -25.64], [121.72, -25.72], [121.81, -26.62], 
       [121.86, -26.98], [122.60, -26.90], [123.57, -27.05], [123.57, -27.68], [123.35, -28.18], 
       [122.51, -28.38], [121.77, -28.26], [121.02, -27.91], [120.49, -27.21], [120.14, -26.50], 
       [120.10, -25.64], [120.27, -24.52], [120.67, -23.68], [121.72, -23.32], [122.43, -23.48], 
       [123.04, -24.04], [124.54, -24.28], [124.58, -23.20], [123.61, -22.14] 
      ] 
      ] 
     } 
     } 
    ] 
    }; 


    map.data.loadGeoJson(tempObject); 

Doing das funktioniert nicht. Gibt es eine andere Möglichkeit, alles von einem einzelnen Objekt zu laden, oder muss ich sie in einer Datei speichern/individuelle Polygone unter Verwendung von google.maps.Polygon() konstruieren?

Antwort

42

Verwenden Sie die addGeoJson-Methode von data anstelle von loadGeoJson. loadGeoJson erwartet eine URL als Parameter und kein GeoJSON featurecollection-Objekt.

map.data.addGeoJson(tempObject); 

Überprüfen Sie die Referenz: https://developers.google.com/maps/documentation/javascript/reference#Data

+2

Ich fühle mich beide stumm für vermisste, dass in den Dokumenten, und dankbar für Sie, dass Hinweis. Vielen Dank! – Itinerati

+0

Das gleiche hier! Das habe ich auch in der Dokumentation nicht gesehen. – TGuimond