我已经找到了使用谷歌地图标记的答案,但自从它死了以后,我走到了尽头。
我想知道是否有人知道如何在我的网站上为用户复制此内容: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。
答案 0 :(得分:3)
目前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对象的颜色样式并创建信息窗口。请阅读上述文档。
我希望这有帮助!
答案 1 :(得分:2)
您无法直接从Google Maps API获取边界。最好的选择是为每个邮政编码提供geojson文件,然后在Google地图中加载相关的文件作为geojson图层。
https://developers.google.com/maps/documentation/javascript/datalayer#load_geojson
答案 2 :(得分:1)
我最终使用的解决方案是googles geo coding api:https://developers.google.com/maps/documentation/geocoding/intro
它给出了一个邻域所需的边界,然后可以用来对谷歌地图api绘制区域。