百度地图折线添加指向(IconSequence的使用)

因为公司研发需要,需要在百度地图生成的折线上显示路线的指向。开始想到的是使用在折线拐点添加箭头,

可以参考点击打开链接  。

但是后面发现这样数据量一大这个生成的东西很不好看。很多地方的箭头都会错位。

然后又自己去百度。谷歌呀的搜。终于发现了可以使用百度地图类中的IconSequence类来添加箭头标识。

点击打开链接

终于实现了这样的效果

代码:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
    body, html,#allmap {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"></script>
    <title>折线上添加方向箭头</title>
</head>
<body>
    <div id="allmap"></div>
</body>
</html>
<script type="text/javascript">
    // 百度地图API功能
    var map = new BMap.Map("allmap");    // 创建Map实例
    map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);  // 初始化地图,设置中心点坐标和地图级别
    map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放
  var sy = new BMap.Symbol(BMap_Symbol_SHAPE_BACKWARD_OPEN_ARROW, {
    scale: 0.6,//图标缩放大小
    strokeColor:'#fff',//设置矢量图标的线填充颜色
    strokeWeight: '2',//设置线宽
});
var icons = new BMap.IconSequence(sy, '10', '30');
// 创建polyline对象
var pois = [
	new BMap.Point(116.350658,39.938285),
	new BMap.Point(116.386446,39.939281),
	new BMap.Point(116.389034,39.913828),
	new BMap.Point(116.442501,39.914603)
];
var polyline =new BMap.Polyline(pois, {
   enableEditing: false,//是否启用线编辑,默认为false
   enableClicking: true,//是否响应点击事件,默认为true
   icons:[icons],
   strokeWeight:'8',//折线的宽度,以像素为单位
   strokeOpacity: 0.8,//折线的透明度,取值范围0 - 1
   strokeColor:"#18a45b" //折线颜色
});

map.addOverlay(polyline);          //增加折线
  
  
</script>


这样就能实现折线上添加方向标识。

注意。这个地方会有一个坑。这个坑我找了1天才发现。那就是,建立折线的点的集合  中的点。相邻的点不能相同(经纬度相同)。因为这个。找了好久的错。


扫描二维码关注公众号,回复: 357610 查看本文章


猜你喜欢

转载自blog.csdn.net/u013546115/article/details/80254095