使用Direction Service我在地图上画了一条路线。 现在我希望将此路由保存为MySQL中的多边形
所以我需要在每100米后获得路线上的lat / lng点,我将保存为多边形。 我怎么能在谷歌地图V3中做到这一点。我正在使用JS和JAVA。
我还发现类似的帖子here有75次以上的观看但没有任何回复。
答案 0 :(得分:3)
好吧,首先我会专注于
的getPath()
Google Maps API v3中折线对象的方法。
这将返回LatLng对象的MVC数组,这些对象是生成的路径折线的顶点。 然后,如果你想要更多的点样本(我的意思是你想要在每100米之后获得点数),你可以编写一个循环来生成更多的点。 循环中会发生的是它使用当前索引获取LatLng并获取下一个索引。然后它计算它们之间的航向,然后如果检查的两个点之间的距离超过100米,那么它将在距当前索引点100米处设置一个点。
为了给你更多的思考,我建议你看看this link
在循环过程中,您会将latlngs收集到一个新数组中,该数组将在循环结束时包含生成折线的所有所需顶点。
至于在mysql中存储这些点,您必须将这些点格式化为WKT格式。 由于将方向折线存储为多边形是无稽之谈,我建议您使用LINESTRING。 这是一个维基百科页面,为您提供WKT的概述:link