首页 > 代码库 > 百度地图应用经验(一)
百度地图应用经验(一)
在最近的一个项目中使用过百度地图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的编辑模式,并且删除旧的覆盖物。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。