S苏哈出行开发者文档

JavaScript 三点圆弧

JS SDK 0.1.0-alpha.44 新增 Arc。该版本已发布;alpha.43 没有此接口。

先使用 load() 取得 sdk 和地图。Arc 在客户端根据三个坐标计算圆弧,复用SDK覆盖物渲染,不请求新服务端接口,也不修改底图数据。


const arc = new sdk.Arc({

  map,

  path: [[100.02128, 21.67623], [100.02228, 21.67723], [100.02328, 21.67623]],

  strokeColor: '#1268e5',

  strokeWeight: 5,

  strokeOpacity: 0.9,

  visible: true

});

arc.setArc(

  [100.02128, 21.67623],

  [100.02228, 21.67723],

  [100.02328, 21.67623]

);

arc.setStrokeColor('#ff8800');

arc.setStrokeWidth(8);

arc.setVisible(false);

arc.show();

arc.remove();

path 必须恰好包含起点、经过点、终点,坐标顺序为经度、纬度,坐标系与当前地图一致。圆弧选择经过第二点的方向,可生成超过180度的长弧。重复点、共线或极接近共线的点、极区构造和无效经纬度返回 INVALID_ARGUMENT,失败更新保留原圆弧。

getArc() 返回三个控制点的副本;getPath() 返回绘制用的采样点。setPath() 与 setArc() 一样只接受三个控制点;setOptions() 可同时更新坐标和样式。getOptions() 返回控制点及当前样式。颜色使用CSS颜色字符串,线宽为正数,透明度在0至1之间。

提供与Android对应的 getId()、setStrokeColor() / getStrokeColor()、setStrokeWidth() / getStrokeWidth()、setVisible() / isVisible()。也支持普通覆盖物的 setMap()、show()、hide()、remove()、destroy()、getBounds()、getLength() 及 click 事件。移除或地图销毁后会释放图层和数据源。

圆弧采用与Android一致的局部平面圆构造,不是测绘级球面圆。跨日期变更线的线段连续绘制,但通用覆盖物范围适配采用经纬度包围盒,不应将跨日期变更线的包围盒当作最短跨界视野。

客户通用案例的“三点弧线”使用合成坐标,不代表真实道路或地图采集结果。运行后使用“清理”移除,释放页面时随地图销毁。

当前地图 API(alpha.44) · 已发布与待发布功能