1. 程式人生 > >百度地圖API 自定義標註圖示

百度地圖API 自定義標註圖示

                     

通過Icon類可實現自定義標註的圖示,下面示例通過引數MarkerOptions的icon屬性進行設定, 也可以使用marker.setIcon()方法。

<script type="text/javascript">    // 百度地圖API功能    var map = new BMap.Map("allmap");    // 建立Map例項    map.centerAndZoom(new BMap.Point(116.323066,39.989956), 16);  // 初始化地圖,設定中心點座標和地圖級別    map.addControl(new BMap.MapTypeControl());   //新增地圖型別控制元件
    map.setCurrentCity("北京");          // 設定地圖顯示的城市 此項是必須設定的    map.enableScrollWheelZoom(true);     //開啟滑鼠滾輪縮放    var points = [        [116.316967,39.990748],        [116.323938,39.989919],        [116.328896,39.988039],        [116.321135,39.987072],        [116.332453,39.989007],        [116.324045,39.987984
],        [116.322285,39.988316],        [116.322608,39.986381]    ];    // 向地圖新增標註    for( var i = 0;i < points.length; i++){        var myIcon = new BMap.Icon("http://7xic1p.com1.z0.glb.clouddn.com/markers.png", new BMap.Size(23, 25), {            // 指定定位位置            offset: new BMap.Size(10, 25),            // 當需要從一幅較大的圖片中擷取某部分作為標註圖示時,需要指定大圖的偏移位置  
            imageOffset: new BMap.Size(0, 0 - i * 25) // 設定圖片偏移          });        var point = new BMap.Point(points[i][0],points[i][1]);        // 建立標註物件並新增到地圖         var marker = new BMap.Marker(point,{icon: myIcon});        map.addOverlay(marker);    };</script>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

所使用圖片:

這裡寫圖片描述

演示地址:點選