描述
我目前正在为我们的客户使用 Google Maps V3,他们要求我们实现一个绘图工具,允许他们创建连接的线流并计算距离。但是,Google Maps V3 绘图管理器库似乎非常有限,它允许我们捕获折线的点击事件。
我们的准则
google.maps.event.addListener(map, 'click', function(event){
//TODO: Store lat/long of click for distance calculation later
});
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(e) {
//TODO: Display the total distance of the line
});
目标
google.maps.event.addListener(drawingManager, 'polylineclick', function(event){
//TODO: Store lat/long of line for distance calculation and display updated distance.
});
如您所见,我们希望在用户创建折线时捕获纬度/经度,并在创建每条线时显示距离,而不是在完成整个折线后。
另外,我知道我们可以通过创建自定义处理程序并使用地图的点击方法和在纬度/经度之间手动绘制线条来做一些魔术来模仿这一点,但 Google Maps API 的绘图管理器没有点击方法似乎很奇怪.
澄清
最终目标是具有功能,因此在绘制折线时,我们可以动态显示折线的总长度。IE 我从画一条线开始,出现一个显示“总线为 X”的部分,我单击第二个点创建第二行,文本更新为“x”+“y”,单击第三个并更新到“x”+“y”+“z”等。这就是为什么我们希望有一个事件来处理“lineDrawn”或“polylineClick”来存储这些纬度/经度,以便我们可以计算动态创建的线的长度无需用户停止画线以查看总长度。
编辑:更新了我们的目标中的 addListener以使用绘图管理器,而不是地图。
编辑:添加澄清部分。