沿着路线获得每个100米后的点/分

时间:2013-04-17 11:17:07

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

使用Direction Service我在地图上画了一条路线。 现在我希望将此路由保存为MySQL中的多边形

所以我需要在每100米后获得路线上的lat / lng点,我将保存为多边形。 我怎么能在谷歌地图V3中做到这一点。我正在使用JS和JAVA。

我还发现类似的帖子here有75次以上的观看但没有任何回复。

1 个答案:

答案 0 :(得分:3)

好吧,首先我会专注于

  

的getPath()

Google Maps API v3中折线对象的方法。

See this link

这将返回LatLng对象的MVC数组,这些对象是生成的路径折线的顶点。 然后,如果你想要更多的点样本(我的意思是你想要在每100米之后获得点数),你可以编写一个循环来生成更多的点。 循环中会发生的是它使用当前索引获取LatLng并获取下一个索引。然后它计算它们之间的航向,然后如果检查的两个点之间的距离超过100米,那么它将在距当前索引点100米处设置一个点。

为了给你更多的思考,我建议你看看this link

在循环过程中,您会将latlngs收集到一个新数组中,该数组将在循环结束时包含生成折线的所有所需顶点。

至于在mysql中存储这些点,您必须将这些点格式化为WKT格式。 由于将方向折线存储为多边形是无稽之谈,我建议您使用LINESTRING。 这是一个维基百科页面,为您提供WKT的概述:link