在我的JavaScript应用程序中,我正在尝试编辑存储在数据库中的路径。为实现这一目标,我创建了一个google.maps.Polyline
数组google.maps.LatLng
。对于每个LatLng
,我将数据库中存储的行ID添加为:
var latLng = new google.maps.LatLng(item.latitude, item.longitude);
latLng.id = id;
coords.push(latLng);
结果与此类似:
http://www.geocodezip.com/v3_GoogleEx_polyline-simple_editingEvents.html
这是有效的,我可以访问id。但是,一旦拖动了该点,就会创建新的LatLng
并删除旧的{ - 因此原始ID将丢失。如何保持每个点的id能够更新数据库中的行?
答案 0 :(得分:1)
当拖动一个点时,路径的set_at
- 事件将被触发。 set_at
- 事件的回调接收2个参数:
根据这些参数,可以很容易地将新项的id-property设置为前一项的id-property:
google.maps.event.addListener(flightPath.getPath(),"set_at",function(i,o){
this.getAt(i).id = o.id;
});