我使用 API v3 在 Google 地图上动态创建了很多多边形。我没有它们的全局数组。我在创建后为每个事件分配事件,因为我需要跟踪用户对它们所做的更改。一切正常,除了一件事。
path = polygon.getPath(); //Note, that polygon isn't a global variable
//DragEnd
google.maps.event.addListener(polygon, "dragend", function(){
SavePolygonToDb(this);
});
//Edited
google.maps.event.addListener(path, "set_at", function() {
//Now 'this' is the path array, not the polygon
SavePolygonToDb(????);
});
不知何故,我需要获取路径所属的多边形对象,但我找不到它的方法。我想出的唯一解决方案是,我需要将所有多边形及其路径存储在一个数组中,然后如果发生变化,我会遍历数组并将路径值与实际值进行比较。如果某个 LatLng 坐标不同,则多边形会发生变化。将新值保存到后端数组,然后继续。但我认为,必须有一些其他(更简单的)解决方案来做到这一点。