【问题标题】:Google Maps API Postal Code BoundariesGoogle Maps API 邮政编码边界
【发布时间】:2018-01-03 17:00:57
【问题描述】:

我使用 Google Maps Marker 找到了答案,但自从它死了,我就陷入了死胡同。

我想知道是否有人知道我将如何在我的网站上为用户复制此内容:https://www.google.ca/maps/place/Toronto,+ON+M4N+3M5/@43.7216028,-79.3771275,16z/data=!3m1!4b1!4m5!3m4!1s0x89d4cd2e4f1652cd:0xee93f0117ea5797d!8m2!3d43.7215696!4d-79.3768256

我想获取用户的邮政编码并勾勒出边界。我不确定这是否是一个广泛的问题,但在这种情况下我需要坚持使用 Google Maps API。

【问题讨论】:

  • 你需要一个数据源来提供边界

标签: javascript jquery google-maps google-maps-api-3


【解决方案1】:

目前 Google Maps JavaScript API 不公开任何地理特征的边界。公共问题跟踪器中有一个非常旧的功能请求来添加此功能,但是 Google 似乎没有对此任务设置高优先级:

https://issuetracker.google.com/issues/35816953

随时为公开功能请求加注星标,表达您的兴趣并订阅 Google 的进一步更新。

您可以从其他来源获取多边形并将它们作为附加图层添加到 Google 地图中。

以下答案描述了从 OpenStreetMap 获取 GeoJSON 格式的多边形的好方法:

https://stackoverflow.com/a/40172098/5140781

因此,如果您下载 GeoJSON,您将能够使用数据层及其 loadGeoJson() 方法将其添加到地图:

https://developers.google.com/maps/documentation/javascript/datalayer#load_geojson

您可以设置 GeoJSON 对象的颜色并创建信息窗口。只需阅读上述文档即可。

我希望这会有所帮助!

【讨论】:

    【解决方案2】:

    您无法直接从 Google Maps API 获取边界。最好的选择是为每个邮政编码创建 geojson 文件,然后将相关文件作为 geojson 图层加载到 Google 地图中。

    https://developers.google.com/maps/documentation/javascript/datalayer#load_geojson

    【讨论】:

      【解决方案3】:

      我最终使用的解决方案是谷歌地理编码 api:https://developers.google.com/maps/documentation/geocoding/intro

      它给出了您需要的邻域边界,然后可以使用谷歌地图 api 来绘制该区域。

      【讨论】:

      • Google Maps Geocoding API 仅返回给定地址的 lat/lng 和边界框,这显然与它们为邮政编码存储的边界不同。
      猜你喜欢
      • 2014-06-11
      • 2011-11-28
      • 2012-07-13
      • 2011-05-19
      • 2011-07-31
      • 2022-12-01
      • 2017-01-16
      • 2012-09-28
      • 2017-02-15
      相关资源
      最近更新 更多