回答
简短的回答是:不,谷歌地图API不提供该功能。
实现此目的的一种方法是找到您感兴趣的空间数据(多边形),将其加载到数据库(理想情况下支持空间查询),然后通过AJAX查询数据库以添加该功能作为KMLLayer的几何图形以及相应的图钉。
您可以在网站funda.nl上查看此工作情况。当您选择一个单独的属性时,它还会显示一个Google Map,其中在所选属性的附近绘制了一个多边形。
我通过使用WikiMapia数据得到了它。
的步骤是:
- 打开WikiMapia。
- 按
F12
或Ctrl+Shift+I
。
- 搜索你想要的位置。
- 用鼠标右键单击并选择
Edit Poly
。 - 关于开发者工具请点击
Network
并按getPolygon
过滤。 看起来像 ,并转到
Console
标签执行功能:Wikimapia.Parser.Itiles.prototype.decodePolygon("Copyed text here");
- 按回车键此控制台后执行将返回对象与点(保利的道路)。
我使用JSON.stringify
来转换JSON中的对象。
实施例:
JSON.stringify(Wikimapia.Parser.Itiles.prototype.decodePolygon("-619402099;-109032887;02fe8953fffe5a000ae5fe379a000fedffd250000e40ffd6050007f7ffeff2001925ffd59b001f6fffdc310012dcffed10003b82ffd9b9005514ffc4520053d2ffc807000c92fff82dfffde7000e670005070012ef0009390021bf000572001358fffc3a001a57fffa210013c1ffff940036530008610022fc000284004732fff5f0001fb1fff2960013c1fff80800594efffde7002c72000f16004b5000204600416f0013b2002292"))
上面的代码将返回此JSON(缩进JsonFormatter):
{
"points":[
{
"lat":-10.9032887,
"lng":-61.9402099
},
{
"lat":-10.9032466,
"lng":-61.9306183
},
{
"lat":-10.8915629,
"lng":-61.9308972
},
{
"lat":-10.8903934,
"lng":-61.9313049
},
{
"lat":-10.8893188,
"lng":-61.9316697
},
{
"lat":-10.8889079,
"lng":-61.9318736
},
{
"lat":-10.8878227,
"lng":-61.9325173
},
{
"lat":-10.8869061,
"lng":-61.933322
},
{
"lat":-10.8864214,
"lng":-61.9338048
},
{
"lat":-10.8854416,
"lng":-61.9353282
},
{
"lat":-10.8839139,
"lng":-61.9375062
},
{
"lat":-10.8824811,
"lng":-61.939652
},
{
"lat":-10.8822809,
"lng":-61.9399738
},
{
"lat":-10.8826496,
"lng":-61.9399202
},
{
"lat":-10.8831343,
"lng":-61.9400489
},
{
"lat":-10.8839982,
"lng":-61.940285
},
{
"lat":-10.8844934,
"lng":-61.9404244
},
{
"lat":-10.8851677,
"lng":-61.9403279
},
{
"lat":-10.8856734,
"lng":-61.9401777
},
{
"lat":-10.8870641,
"lng":-61.940167
},
{
"lat":-10.8879597,
"lng":-61.9403815
},
{
"lat":-10.8897823,
"lng":-61.9404459
},
{
"lat":-10.8905936,
"lng":-61.9401884
},
{
"lat":-10.8910993,
"lng":-61.9398451
},
{
"lat":-10.8933855,
"lng":-61.9396412
},
{
"lat":-10.8945233,
"lng":-61.9395876
},
{
"lat":-10.8964513,
"lng":-61.9399738
},
{
"lat":-10.8981264,
"lng":-61.9408
},
{
"lat":-10.8990114,
"lng":-61.9413042
}
],
"bounds":{
"left":-61.9413042,
"bottom":-10.9032887,
"right":-61.9306183,
"top":-10.8822809,
"centerLatLng":null
}
}
最后,我使用正则表达式这样regexr.com/3c5m2转JSON成WKT。我不复制整个JSON只有在Regex中"points"
数组中的对象。在RegExr上,我复制替换的文本并粘贴到POLYGON((pastehere))
。
重要!应用正则表达式后,您需要重复上一点中的第一个点。
-61.956523060798645 -10.877613428213532,-61.95640504360199 -10.877718788854143,-61.956791281700134 -10.878393096072424,-61.95735991001129 -10.87805594265392,-61.95682346820831 -10.877339490373695,-61.956523060798645 -10.877613428213532
然后你喜欢的东西这个:
POLYGON((-61.956523060798645 -10.877613428213532,-61.95640504360199 -10.877718788854143,-61.956791281700134 -10.878393096072424,-61.95735991001129 -10.87805594265392,-61.95682346820831 -10.877339490373695,-61.956523060798645 -10.877613428213532))
那可以插入数据库t帽子支持WKT(如MySQL)。
WikiMapia有一个API然后所有这个过程可以是自动的,但是这对我来说工作正常。
- 1. 从谷歌地图获取多边形
- 2. 谷歌地图多边形
- 3. 谷歌地图多边形
- 4. 谷歌地图api多边形选择边缘
- 5. 如何获取谷歌地图的多边形边界?
- 6. 谷歌地图边界多边形
- 7. 谷歌地图绘制多边形和计算区域
- 8. 谷歌地图删除多个多边形的多边形
- 9. 谷歌地图 - InfoWindows多个多边形
- 10. 谷歌地图API V3的多边形
- 11. 在谷歌地图中获取多个多边形API
- 12. 获取多个多边形谷歌地图API点
- 13. 如何获取谷歌地图多边形的当前fillColor?
- 14. 谷歌地图 - 慢加载多边形
- 15. 点击谷歌地图多边形内
- 16. 谷歌地图安卓点多边形
- 17. SVG到谷歌地图多边形
- 18. 谷歌地图多边形优化
- 19. 谷歌地图:透明多边形
- 20. 谷歌地图显示多边形
- 21. 谷歌地图Javascript多边形
- 22. 谷歌地图多边形表示
- 23. getpaths()多边形谷歌地图API
- 24. 谷歌地图区域边界的边界
- 25. 谷歌地图api v2获取多边形坐标
- 26. 获取KML中定义的多边形区域的坐标
- 27. 如何在边缘附近找到黑色区域
- 28. CorePlot - 贴图边缘附近的标签
- 29. 在谷歌地图上计算绘制的多边形的区域javascript
- 30. 检查点是否位于(或靠近)凸多边形边缘
[Google Maps JavaScript API v3]的功能请求(https://code.google.com/p/gmaps-api-issues/issues/detail?id=109) – geocodezip