百度地图标注自定义标注图片
//设置场地标记点for (var i = 0; i < ground_info.length; i++) {var img_url = '/Static/Oa/img/D.png';if (ground_info[i].g_type == 'A') {img_url = '/Static/Oa/img/A.png';}if (ground_info[i].g_type == 'B') {img_url = '/Static/Oa/img/B.png';}if (ground_info[i].g_type == 'C') {img_url = '/Static/Oa/img/C.png';}var myIcon = new BMap.Icon(img_url, new BMap.Size(32, 32), {anchor: new BMap.Size(10, 25),});var marker = new BMap.Marker(new BMap.Point(ground_info[i].point_x, ground_info[i].point_y), {icon: myIcon }); //创建标注map.addOverlay(marker) //将标注添加到地图中 }
小结
具体方法在百度地图文档已经有详细的说明,这里记录一下自己容易忽视的点。
1.anchor: new BMap.Size(10, 25)
这个一定需要,不然标注在地图上面会偏移正确位置
2.new BMap.Size(32, 32)
里面参数是地图上标注显示的大小,自定义的图片的大小一定和这里的参数一样,才能正确显示完整的图片大小。