我想使用编码的折线字符串在Google地图上绘制拖动山墙路线。所以我可以拖动路线,在其中进行更改并保存在数据库中。任何人都可以对此有所了解????? 例如:我有以下编码折线
var encodedPath='iqgnAa|lxMDq@@]j@CrIKhBClEIrFMe@oCCKBa@VqAbAqCEWIi@MSg@[oAu@kAu@aAe@{@WcAScA]g@Mm@EaAV_ECKxBl@BL@FDKpB';
var path = google.maps.geometry.encoding.decodePath( encodedPath );
var polyline = new google.maps.Polyline({
path: path,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 2.0,
strokeWeight: 8
});
polyline.setMap( map );
我想使用此编码的多边形线路在Google地图上绘制拖动山墙路径。 目前我可以使用以下代码在Google地图上绘制多边形线,但它不是拖拽山墙 有什么建议???? 我还想要谷歌地图方向服务等可拖动的行为,以便我可以偏离现有路径并保存以备将来使用
答案 0 :(得分:-1)
您可以在构造函数
中使其可拖动var polyline = new google.maps.Polyline({
path: path,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 2.0,
strokeWeight: 8,
draggable: true
});
或更晚
polyline.setDraggable(true);
或
polyline.set('draggable',true);
如果您使用折线渲染Google的方向服务,则拖动时路径将与折线一起更新。请记住,执行此操作后,您需要将新的折线路径保留到数据库中。这是通过将侦听器添加到折线路径
来完成的google.maps.event.addListener(polyline.getPath(), 'set_at', function () {
var encodedpath=google.maps.geometry.encoding.encodePath( polyline.getPath() );
SaveMyPath(encodedpath);
});
google.maps.event.addListener(polyline.getPath(), 'insert_at', function () {
var encodedpath=google.maps.geometry.encoding.encodePath( polyline.getPath() );
SaveMyPath(encodedpath);
});
由你来构建函数SaveMyPath