Javascript 画一个「;走廊“;使用谷歌地图

Javascript 画一个「;走廊“;使用谷歌地图,javascript,google-maps,dictionary,coordinates,Javascript,Google Maps,Dictionary,Coordinates,我试图复制GPS提供商的地图,我可以通过API访问地图中的每个形状,但“走廊”形状有问题 道路类似于多边形,但当您绘制它时,您可以定义宽度(以米为单位)并“单击”某些点以获得某种“精度”: 如您所见,每个白色框都是一个“点击”,而蓝线则是“走廊” 我的问题是怎么画?因为我尝试使用多段线,但它没有按预期工作,当我缩小它时,它看起来很奇怪: (我现在拥有的) (应该是什么样子) 我想我必须为它画一个多边形,但我不知道如何计算边的坐标,因为API只返回“精度”和宽度的点,而不返回角坐标 一些想法

我试图复制GPS提供商的地图,我可以通过API访问地图中的每个形状,但“走廊”形状有问题

道路类似于多边形,但当您绘制它时,您可以定义宽度(以米为单位)并“单击”某些点以获得某种“精度”:

如您所见,每个白色框都是一个“点击”,而蓝线则是“走廊”

我的问题是怎么画?因为我尝试使用多段线,但它没有按预期工作,当我缩小它时,它看起来很奇怪:

(我现在拥有的)

(应该是什么样子)

我想我必须为它画一个多边形,但我不知道如何计算边的坐标,因为API只返回“精度”和宽度的点,而不返回角坐标


一些想法

也许你可以试试这样的东西:

poly = new google.maps.Polyline({
          strokeColor: '#737CA1',
          strokeOpacity: 0.5,
          strokeWeight: 3,
          map: map,
});
重量可以根据您喜欢的宽度进行调整

也尝试删除圆圈,如本答案中所建议:


我建议用谷歌地图上的SphereCaltil库计算两个坐标偏移量,两个坐标的一半在每个方向上与中心线分离,并使它们与中心线垂直,然后按正确的顺序将所有这些点添加到多边形中,得到一个相对于中心线固定的多边形。

我尝试了多段线,但看到的圆是一条缩小的多段线,它看起来像一个圆:/n这就是多段线不起作用的原因1。绘制一条多段线。2.使用turf计算该多段线的缓冲区(多边形)。缓冲区就是你的走廊。
circle.setMap(null);