因此,有很多关于如何删除谷歌地图多边形顶点的帖子。他们都没有为我工作 - 这可能是由于他们引用过时的API。我试图限制用户可以在多边形上创建的点数。如果他们创建的点数超过一定数量,我希望以编程方式触发Google地图中内置的“撤消”功能,或者删除最后创建的顶点。删除多边形的一个顶点谷歌地图API v3
当我创建初期多边形为用户的工作与我在添加此事件侦听器:
google.maps.event.addListener(myPolygon.getPath(), 'insert_at', function(event){
var numPoints = myPolygon.getPath().length;
if(numPoints == 5){
myPolygon.getPath().removeAt(4);
}
});
这结束了从多边形移除点(不一定是最后一个点创建)。有时,它会导致以下错误:
Uncaught TypeError: Cannot read property 'b' of undefined.
我已经使用多边形“喀嗒”监听尝试,但是当用户创建了一个新的顶点click事件不火。只有当点击实际的多边形时才会触发。
这是我的问题。自动完成的多边形在删除点时不能正常工作,但只要最后一个点等于第一个点,它就可以正常工作。 http://jsbin.com/wipuv/2/edit不起作用,而http://jsbin.com/wipuv/3/edit确实起作用。 – carter
对不起,我必须回来。如果第一个点等于最后一个点,如果有人选择在编辑过程中移动第一个或最后一个点,它仍然不起作用。例如我的链接中的三角形有4个点,当有人移动第一个/最后一个点,然后在它们之间插入一个新点时,会引发错误。 – carter
我建议的修复方法没有错误:http://jsbin.com/wipuv/4/edit?js,output –