Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 获取路线沿线各点的lat/lng,比如每100米一次_Google Maps_Google Maps Api 3 - Fatal编程技术网

Google maps 获取路线沿线各点的lat/lng,比如每100米一次

Google maps 获取路线沿线各点的lat/lng,比如每100米一次,google-maps,google-maps-api-3,Google Maps,Google Maps Api 3,使用方向服务,我在地图上画了一条路线。 现在我想在MySQL中将此路由保存为多边形 因此,我需要得到路线上点的纬度/lng,比如每100米后,我将保存为多边形。 我如何在谷歌地图V3中做到这一点。我正在使用JS和JAVA 我还发现类似的帖子有75+的浏览量,但没有任何回复。好吧,首先我要关注 getPath() 谷歌地图API v3中多段线对象的方法 这将返回板条对象的MVC数组,这些对象是生成的管线多段线的顶点。 然后,如果您需要更多的点采样(例如,我的意思是您希望在每100米之后有点),您

使用方向服务,我在地图上画了一条路线。 现在我想在MySQL中将此路由保存为多边形

因此,我需要得到路线上点的纬度/lng,比如每100米后,我将保存为多边形。 我如何在谷歌地图V3中做到这一点。我正在使用JS和JAVA


我还发现类似的帖子有75+的浏览量,但没有任何回复。

好吧,首先我要关注

getPath()

谷歌地图API v3中多段线对象的方法

这将返回板条对象的MVC数组,这些对象是生成的管线多段线的顶点。 然后,如果您需要更多的点采样(例如,我的意思是您希望在每100米之后有点),您可以编写一个循环来生成更多的点。 循环中将要发生的是,它获取当前索引的LatLng,然后获取下一个索引。然后计算它们之间的航向,如果两个检查点之间的距离超过100米,则将在距离当前索引点100米的位置放置一个点

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

在循环过程中,您将把板条收集到一个新数组中,该数组将在循环结束时包含生成的多段线的所有所需顶点

至于在mysql中存储这些点,您必须将这些点格式化为WKT格式。 因为将方向多段线存储为多边形是毫无意义的,所以我建议您使用LINESTRING。
这是一个维基百科页面,它向您概述了WKT是什么:

好的,谢谢您如此精确的回答。getPath()将返回mvc数组。我知道怎样才能得到我所需要的。从那个阵列。现在告诉我最后一件事:我在directionsDisplay.setDirections(response)中有响应对象;如何从响应对象获取多段线对象,以便对其调用getPath()。我找到了一些东西,但不确定。我要找的是overview\u path吗?在文档中,上面写着overview\u polyline,但我以前一直在使用overview\u path,所以我的回答是:)我已经绘制了路线,也成功地将其保存为多边形,现在只剩下一件事,绘制路线后,如果用户通过拖动点对其进行修改,如何在此修改的路线上使用概览路径?我已经搜索了路线事件,但没有找到任何。我已找到更改事件的方向。我只是想知道新更改路线的参考。我怎样才能得到这个引用呢?在事件中,将e放入回调函数,并首先将其写入控制台,以探索其中的内容。