Google Map API v3 从外部获取 geoJSON 数据(例如 OSM http://polygons.openstreetmap.fr/get_geojson.py?id=3227127&params=0 )

Google Map API v3 fetch geoJSON data from external (eg. OSM http://polygons.openstreetmap.fr/get_geojson.py?id=3227127&params=0 )

我正在尝试使用来自 OSM 的 geoJSON 数据在 google 地图上绘制多个城市的地图。我遇到了下面的讨论和@geocodezip 的解决方法,但这会复制坐标数组。我正在寻找一种通过 url 获取代码的方法,就像 Google 的示例一样:https://developers.google.com/maps/documentation/javascript/datalayer 因为我要绘制 23 个城市,这会很乏味。

示例:

var map; function initMap() { map = new google.maps.Map(document.getElementById('map'), { zoom: 4, center: {lat: -28, lng: 137} });

// NOTE: This uses cross-domain XHR, and may not work on older browsers. map.data.loadGeoJson( 'https://storage.googleapis.com/mapsdevsite/json/google.json'); }

参考:

注意:我可以根据坐标数组输入绘制单个城市的地图,但是我需要从 OSM 获取坐标。例如> https://s3.amazonaws.com/geojson-arizona/index.html

我需要绘制以下城市的边界图。 > https://s3.amazonaws.com/geojson-arizona/marker.html

我迷路了。如果有人从事过类似的工作,请多多指教。提前致谢!

嗯,看起来我已经解决了这个问题。我遗漏了 geoJSON 文件中的参数。 :|

{
"type": "FeatureCollection",
"features": [
{
    "type": "Feature",
    "properties": {
     ...
     ...

我能够从外部 link 获取 geoJSON.json 文件,在我的例子中是从 S3 存储桶中获取。 (请确保文件上有适当的 ACL 并启用 CORS)。

输出如下link所示:

geoJSON data polygon overlay google Map

有标记: with multiple markers

geoJSON latlong 数据来自 OSM