开发 地图 JS API 2.0 进阶教程 线 贝赛尔曲线编辑插件

贝赛尔曲线编辑插件 BezierCurveEditor 最后更新时间: 2023年03月23日

BezierCurveEditor 插件提供了对贝赛尔曲线进行编辑能力。

准备

成为开发者并创建 key

为了正常调用 API ,请先注册成为高德开放平台开发者,并申请 web 平台(JS API)的 key 和安全密钥,点击 具体操作

贝赛尔曲线编辑插件 BezierCurveEditor

具体使用方式如下:

1

创建地图

const map = new AMap.Map('container',{
    zoom: 10,  //设置地图显示的缩放级别
    center: [116.397428, 39.90923],  //设置地图中心点坐标
    mapStyle: 'amap://styles/whitesmoke',  //设置地图的显示样式
    viewMode: '2D'  //设置地图模式
});
2

创建路径

var path = [//每个弧线段有两种描述方式
  [116.37, 39.91],//起点
  //第一段弧线
  [116.380298, 39.907771, 116.38, 39.90],//控制点,途经点
  //第二段弧线
  [116.385298, 39.907771, 116.40, 39.90],//控制点,途经点//弧线段有两种描述方式1
  //第三段弧线
  [//弧线段有两种描述方式2
    [116.392872, 39.887391],//控制点
    [116.40772, 39.909252],//控制点
    [116.41, 39.89]//途经点
  ],
  //第四段弧线
  [116.423857, 39.889498, 116.422312, 39.899639, 116.425273, 39.902273]
  //控制点,控制点,途经点,每段最多两个控制点
];
  
3

创建贝赛尔曲线实例

var bezierCurve = new AMap.BezierCurve({
  path: path,
  isOutline: true,
  outlineColor: '#ffeeff',
  borderWeight: 3,
  strokeColor: "#3366FF", 
  strokeOpacity: 1,
  strokeWeight: 6,
  // 线样式还支持 'dashed'
  strokeStyle: "solid",
  // strokeStyle是dashed时有效
  strokeDasharray: [10, 10],
  lineJoin: 'round',
  lineCap: 'round',
  zIndex: 50,
})
4

贝赛尔曲线添加至地图实例

map.add(bezierCurve);
5

构造贝赛尔曲线编辑对象,并绑定事件

// 引入贝塞尔曲线编辑器插件
map.plugin(["AMap.BezierCurveEditor"],function(){
   // 实例化多边形编辑器,传入地图实例和要进行编辑的多边形实例
   var bezierCurveEditor = new AMap.BezierCurveEditor(map, bezierCurve)

    bezierCurveEditor.on('addnode', function(event) {
        log.info('触发事件:addnode')
    })

    bezierCurveEditor.on('adjust', function(event) {
        log.info('触发事件:adjust')
    })

    bezierCurveEditor.on('removenode', function(event) {
        log.info('触发事件:removenode')
    })

    bezierCurveEditor.on('end', function(event) {
        log.info('触发事件: end')
        // event.target 即编辑后的曲线对象
    })
}); 
示例
中心
常见
问题
智能
客服