2015-02-18 11 views
23

Sto provando a creare una mappa, utilizzando le planimetrie che ho memorizzato in mongodb. Se metto il JSON in un file, posso chiamarlo usando map.data.loadGeoJson('myfile.json')Caricamento di un oggetto geoJSON direttamente in google maps v3

Tuttavia, non voglio salvare un file ogni volta che costruisco una mappa, e preferirei scrivere direttamente un oggetto. Qualcosa del genere:

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

Fare ciò non funziona. C'è un altro modo per caricare tutto da un singolo oggetto, o devo salvarli in un file/costruire singoli poligoni usando google.maps.Polygon()?

risposta

42

Utilizzare il metodo addGeoJson di data anziché loadGeoJson. loadGeoJson prevede un URL come parametro, non un oggetto featurecollection GeoJSON.

map.data.addGeoJson(tempObject); 

Controllare il riferimento: https://developers.google.com/maps/documentation/javascript/reference#Data

+2

mi sento sia muto mancanti che nella documentazione, e grato per voi la segnalazione. Grazie! – Itinerati

+0

Lo stesso qui! Nemmeno io l'ho notato nella documentazione. – TGuimond