2016-10-14 3 views
2

Я хочу отобразить границу города на карте Google, используя данные GeoJSON, которые я использую с помощью следующих инструментов.Отображение границ OpenStreetMap на картах Google (с использованием v3 api)

  1. Я пошел в nominatim.openstreetmap.org и поиск города (Денвер, например)
  2. С извлеченной OSM ID (в данном случае: 253750), то я сгенерировал файл GeoJSON с помощью онлайн инструмент (polygons.openstreetmap.fr) - который выглядит как этот http://polygons.openstreetmap.fr/get_geojson.py?id=253750&params=0

После этого, я скачал файл и попытался загрузить эти данные GeoJSON в моей карте, используя простой:

map.data.loadGeoJson(
      'http://domain.com/example.json'); 

Но, в моей консоли я получил ошибку:

Uncaught InvalidValueError: not a Feature or FeatureCollection 

Проблема заключается в том, что, хотя выше инструмент генерирует формат GeoJSON, он не признается в качестве стандартного. Итак, есть ли дополнительный шаг между ними или что-то здесь отсутствует?

+0

** Решенный **: Если кто-то наткнулся на ту же проблему, из сгенерированного файла GeoJSON по указанному выше URL-адресу, то просто скопируйте/вставьте массив координат в объект MultiPolygon созданного пользователем файла geoJSON, используя стандарты. – Ghogilee

ответ

4

Связанный вопрос: google maps addGeoJson from text field with js

Вы должны принять данные, извлекать из открытых карт улиц и поставить его на место в Feature/FeatureCollection JSON, что анализатор GeoJSON ожидает:

var geoJson = { 
    "type": "FeatureCollection", 
    "features": [{ 
    "type": "Feature", 
    "geometry": {}, 
    "properties": {} 
    }]; 
// where "geoJsonData" is the data you retrieved 
geoJson.features[0].geometry = geoJsonData; 

example fiddle (with the data from the posted link)