由于Google映射v3.11,因此可以将draggable
属性设置为Polygon
,Circle
和Rectangle
。例如,new google.maps.Polygon({ draggable: true })
。
对于Circle
和Rectangle
,有radius_changed
,center_changed
和bounds_changed
等事件供我们在有任何更改时订阅。
但对于Polygon
,我们只能订阅set_at
的{{1}},insert_at
和remove_at
个事件。
因此,拖动多边形后会出现问题,多边形的位置已被更改/编辑/移动,但没有事件可以监听此更改。
答案 0 :(得分:8)
有一种更好的方法可以实现这一点,如果你想听路径位置的变化和路径中的新点,这里是代码:
place_polygon = new google.maps.Polygon({/*...*/});
var place_polygon_path = place_polygon.getPath()
google.maps.event.addListener(place_polygon_path, 'set_at', polygonChanged);
google.maps.event.addListener(place_polygon_path, 'insert_at', polygonChanged);
function polygonChanged(){
console.log('Changed');
}
答案 1 :(得分:7)
“dragend”活动怎么样?