点击这一点如何获得折线点?

时间:2016-07-13 07:41:48

标签: javascript google-maps-api-3 google-polyline

我有一条折线,想要在右键点击删除一些点。那么有没有办法在右键点击聚合点?我可以得到地图的坐标,并将它们与多边形阵列进行比较,但我必须有一个简单的方法。

enter image description here

感谢

2 个答案:

答案 0 :(得分:1)

右键单击该行时,可以获取该点上的点的坐标:

polyline.addListener('rightclick', function(polyMouseEvent) {
    var coords = polyMouseEvent.latLng;
});

然后确定该点是否是节点之一有点棘手。虽然根据the docs,您可以找到“事件发生时光标下方顶点的索引,如果事件发生在顶点上且折线或多边形是可编辑的”。我似乎记得虽然没有太多运气。

而且我认为您需要删除路径的一部分,而不仅仅是从中移除一个坐标。除非您每次都完全重绘折线。

我做了一些模糊的类似here的事情,只要你右键点击折线的那一段,我就会删除路径的各个部分。

答案 1 :(得分:1)

newShape.addListener('rightclick', function (polyMouseEvent) {
    if (google.maps.geometry.poly.isLocationOnEdge(polyMouseEvent.latLng, this, 0.0001)) {
        var vertex = polyMouseEvent.vertex;
        // alert(vertex)
    }
});