如何使用编码的概览折线绘制可拖动的方向

时间:2014-06-30 13:07:51

标签: google-maps

我想使用编码的折线字符串在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地图上绘制多边形线,但它不是拖拽山墙 有什么建议???? 我还想要谷歌地图方向服务等可拖动的行为,以便我可以偏离现有路径并保存以备将来使用

1 个答案:

答案 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