本小节介绍各类矢量图形的编辑工具。除了可以在图面绘制各种覆盖物以外,我们还可以借助矢量图形编辑工具对各种已经绘制好的图形进行编辑工作。现已支持的图形的编辑工具包括折线、多边形编辑工具 PolyEditor, 贝塞尔曲线编辑插件 BezierCurveEditor,椭圆编辑插件 EllipseEditor,矩形编辑插件RectangleEditor,这些插件均可以在引入后,对每种类型覆盖物的多种属性进行编辑。
下面以折线、多边形编辑工具 PolyEditor 为例进行介绍。
1. 添加一条绘制折线:
// 折线的节点坐标数组,每个元素为 AMap.LngLat 对象 var path = [ new AMap.LngLat(116.368904,39.913423), new AMap.LngLat(116.382122,39.901176), new AMap.LngLat(116.387271,39.912501), new AMap.LngLat(116.398258,39.904600) ]; var polyline = new AMap.Polyline({ path: path, borderWeight: 2, // 线条宽度,默认为 1 strokeColor: 'red', // 线条颜色 lineJoin: 'round' // 折线拐点连接处样式 }); map.add(polyline);
2. 构造折线编辑对象,并开启折线的编辑状态
// 引入多边形编辑器插件 map.plugin(["AMap.PolyEditor"],function(){ // 实例化多边形编辑器,传入地图实例和要进行编辑的多边形实例 polylineEditor = new AMap.PolyEditor(map, polyline); // 开启编辑模式 polylineEditor.open(); });