我渲染谷歌地图的数据,看起来像这样一个折线:获取从纬度/经度点沿折线距离
data = [
{
distance: 3.45,
lat: 37.37112776376307,
lng: -122.13909476995468,
},
...
];
当鼠标悬停在折线,我可以得到lat
/lng
坐标我想根据这些坐标获得沿线的距离。
我还没有找到一个简单的方法来做到这一点与地图API。我想要沿着折线从开始到任意点的距离;我发现的大多数答案只是两点之间的距离(最短),而不是沿着预定义的路线。
我的另一个想法是使用D3(我用它来绘制一些相关的图表)来平分数据并获得距离。然而,我不知道如何基于两个数据点(lat
+ lng
)平分。
有关如何完成我想要做的任何建议?
编辑:在我的数据中,distance
是在给定坐标处行进的累积距离。
的[计算在给定时间地理位置(可能的复制https://stackoverflow.com/questions/ 25562799 /按给定时间计算地理位置) – geocodezip
我对Google Maps API不熟悉,但如何确定此距离?它有一个方向(下一点)吗?如果多段线上的悬停位置位于两点的中间,并且您不知道沿路径分布的地形如何,则必须将最后一点与光标之间的距离和近似值加起来。 – LEI
如果你看看我对链接问题的回答,它会使用第三方库函数'GetPointAtDistance'来做到这一点。 – geocodezip