Javascript 编辑多路径多边形的多边形路径事件
我一直在告诉编辑事件我编辑了多边形的哪个路径。我需要知道这一点,因为我将多边形的坐标发布到服务器,并且需要能够告诉它我更改了多边形的哪个路径 最初,我的多边形都是单路径多边形,我需要传递给我的editPolygon方法的就是编辑顶点的索引,它会自动作为第一个参数传递。但是,我现在还需要传递正在编辑的多边形路径的索引。因为我的多边形可以有多条路径,所以我需要能够说“编辑路径1”并更新该部分 下面的代码是我尝试将pathIndex添加为参数的代码,但它的值不包含在匿名函数中。该函数的第二个参数似乎也会自动设置为编辑顶点的LatLng对象。我可以看到我需要在函数中访问多边形的路径,但作用域不允许这样做Javascript 编辑多路径多边形的多边形路径事件,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我一直在告诉编辑事件我编辑了多边形的哪个路径。我需要知道这一点,因为我将多边形的坐标发布到服务器,并且需要能够告诉它我更改了多边形的哪个路径 最初,我的多边形都是单路径多边形,我需要传递给我的editPolygon方法的就是编辑顶点的索引,它会自动作为第一个参数传递。但是,我现在还需要传递正在编辑的多边形路径的索引。因为我的多边形可以有多条路径,所以我需要能够说“编辑路径1”并更新该部分 下面的代码是我尝试将pathIndex添加为参数的代码,但它的值不包含在匿名函数中。该函数的第二个参数似乎也
var pathIndex = polygon.getPaths().getAt(thisIndex);
google.maps.event.addListener(polygon.getPath(), 'set_at', function(editIndex) {
editPolygon(editIndex, pathIndex);
});
关于如何判断正在编辑的多路径多边形的路径,有什么想法吗?如果有功能可以告诉您更改了路径中的哪个顶点,是否应该有方法告诉您多边形中的哪个路径也更改了?这是一种可能的解决方案,但它可能不是最优雅的 在多边形中创建每条路径时,我为该多边形中的索引设置了一个属性。例如:
polygonPath.pathIndex = indexOfPathInPolygon;
现在它是MVCArray的一部分
现在我只需要正常设置事件处理程序:
google.maps.event.addListener(polygonPath, 'set_at', editPolygon);
调用editPolygon时,我可以访问该索引,因为“this”引用了我编辑的MVCArray:
function editPolygon(editIndex) {
var editedPath = myPolygon.getPaths.getAt(this.pathIndex);
}