example - Cargando un objeto geoJSON directamente en google maps v3
google maps marker example (1)
Intento crear un mapa, usando los planos que he almacenado en mongodb. Si pongo el JSON en un archivo, puedo llamarlo usando map.data.loadGeoJson(''myfile.json'')
Sin embargo, no quiero guardar un archivo cada vez que construyo un mapa, y prefiero escribir un objeto directamente. Algo como esto:
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);
Hacer eso no funciona. ¿Hay alguna otra manera de cargar todo desde un solo objeto, o debo guardarlos en un archivo / construir polígonos individuales usando google.maps.Polygon()
?
Use el método de data
loadGeoJson
lugar de loadGeoJson
. loadGeoJson
espera una URL como parámetro, no un objeto de colección de características GeoJSON.
map.data.addGeoJson(tempObject);
Verifique la referencia: https://developers.google.com/maps/documentation/javascript/reference#Data