Javascript 了解多段线路径变量何时更改
我有一条可编辑的多段线,我需要知道该多段线何时更改其路径变量。是否可以在我的多段线中添加新事件(“路径改变”或类似的内容) 谢谢 问候Javascript 了解多段线路径变量何时更改,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我有一条可编辑的多段线,我需要知道该多段线何时更改其路径变量。是否可以在我的多段线中添加新事件(“路径改变”或类似的内容) 谢谢 问候 cadetill我认为不可能向多段线对象添加事件。请参阅,我也不确定在编辑过程中触发了哪些事件,但我假设触发了“click”、“dblclick”等。您需要运行测试以查看哪些事件表示编辑结束。假设在编辑之前保存了Polyline.getPath()返回的数组,则需要对照新的getPath()结果检查该数组,以确定它们是否已更改。由于path是一个LatLng对象
cadetill我认为不可能向多段线对象添加事件。请参阅,我也不确定在编辑过程中触发了哪些事件,但我假设触发了“click”、“dblclick”等。您需要运行测试以查看哪些事件表示编辑结束。假设在编辑之前保存了Polyline.getPath()返回的数组,则需要对照新的getPath()结果检查该数组,以确定它们是否已更改。由于path是一个LatLng对象数组,您可以使用LatLng.equals(LatLng)以及基本的array.length检查等,这样就可以使用latlngaray.join()来比较这两个数组。我正面临这个问题。我通过将事件监听器添加到多段线路径(作为mvc数组实现)来解决这个问题。我使用了此处记录的mvc阵列事件: 设置多段线后:
var path = poly.getPath();
google.maps.event.addListener(path, 'insert_at', function(){
alert("path insert_at event");
});
google.maps.event.addListener(path, 'remove_at', function(){
alert("path remove_at event");
});
google.maps.event.addListener(path, 'set_at', function(){
alert("path set_at event");
});
希望有帮助。你好,埃里克。谢谢你的回答。我已经测试了多段线中的所有事件,当路径更改时不会触发任何事件。事实上,当鼠标与点的平方交互以移动实际lat/lng或创建新路径时,不会触发任何事件。为此,我想为路径更改创建一个新事件。感谢下面的注释是使用此代码时实际发生的情况。适用于多边形tho