【发布时间】:2017-08-28 18:01:09
【问题描述】:
我在 Google 地图上渲染一条折线,其数据如下所示:
data = [
{
distance: 3.45,
lat: 37.37112776376307,
lng: -122.13909476995468,
},
...
];
当悬停在折线上时,我可以获得lat/lng 坐标,我想根据这些坐标获得沿线的距离。
我还没有找到使用 Maps API 执行此操作的简单方法。我想要从起点到沿折线任意点的距离;我发现的大多数答案都只是处理两点之间的(最短)距离,而不是沿着预定义的路线。
我的另一个想法是使用 D3(我用来绘制一些相关图表)来平分数据并获取距离。但是,我不知道如何根据两个数据点进行一分为二 (lat+ lng)。
关于如何完成我想做的事情的任何建议?
编辑:在我的数据中,distance 是在给定坐标处行进的累积距离。
【问题讨论】:
-
我不熟悉 Google Maps API,但是这个距离是怎么确定的呢?它有方向(下一点)吗?如果折线上的悬停位置在两点的中间,并且不知道地形沿路径的分布情况,则必须将最后一点与光标之间的距离相加并得出近似值。跨度>
-
如果您查看我对链接问题的回答,它会使用第三方库函数
GetPointAtDistance来执行此操作。 -
@geocodezip:我想要那个答案的倒数,即:
GetDistanceAtPoint而不是GetPointAtDistance
标签: javascript google-maps d3.js