百度地图应用经验(一)

时间:2014-04-29 11:23:47   收藏:0   阅读:441

在最近的一个项目中使用过百度地图API的Javascript开发,

发现了一些问题,在这里作为自己的Knowledge积累,写下来。

问题:

手动绘图模式下(DrawingManager),

覆盖物Polyline,Polygon的绘画模式中,如果没有在options中指定enableEditing属性为True,

而是在手动绘画完成后,生成的覆盖物的对象上调用enableEditing方法改变编辑属性,

则生成的对象在地图上编辑后(拖动编辑线框或者编辑锚点的操作),再移动地图时,覆盖物的边框会被还原到编辑前的位置上,

但是编辑的锚点依然停留在编辑后的位置上。

 

版本:

百度地图API JavaScript 开源库

Baidu Map API 1.4

 

解决方法:

1.如果需要在绘画完成后让覆盖物进入编辑状态,需要在绘画前,预先指定options中编辑模式属性【enableEditing:true】

2.如果需要在绘画完成后覆盖物不进入编辑状态,而是在选中这个覆盖物时进入编辑状态,

    (1)预先指定options的属性【enableEditing:false】(默认值);

    (2)绑定覆盖物对象的click事件,在click事件中拿到当前覆盖物对象,在当前的覆盖物上再绘画一个新的覆盖物对象new,让所有的线框与之前的覆盖物完全重合;

    (3)绑定覆盖物对象new的lineupdate事件,当改变覆盖物对象new时,原先的覆盖物对象也跟着更新;

    (4)当鼠标点击覆盖物对象new以外的地方时,关闭覆盖物对象new的编辑模式,并且删除旧的覆盖物。

 

 

百度地图应用经验(一),码迷,mamicode.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!