var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
offset: new BMap.Size(10, 25),
imageOffset: new BMap.Size(0, 0 - index * 25)
});
var marker = new BMap.Marker(point, {icon: myIcon});
map.addOverlay(marker)
这是引用百度自己的标注,看明白了没有,这个小标注的字不是加上去的,而本身就是一张图,连在一块的。想自定样式的话可以自己制作并切图,这样考验你的CSS了 ,总之很烦的 。个人觉得直接引用百度的就可以了。
完整代码:
</pre><pre name="code" class="html">var map = new BMap.Map("map"); // 创建地图实例
var point = new BMap.Point(116.404, 39.915); // 创建点坐标
map.centerAndZoom(point, 15); // 初始化地图,设置中心点坐标和地图级别
map.addControl(new BMap.NavigationControl());
map.addControl(new BMap.ScaleControl());
map.setDefaultCursor("crosshair");
map.addEventListener("click", function(e){ //点击事件
if(!e.overlay){
var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
offset: new BMap.Size(10, 25), // 指定定位位置
imageOffset: new BMap.Size(0, 0 - 10 * 25) // 设置图片偏移
});
var marker=new BMap.Marker(e.point,{icon:myIcon});
map.removeOverlay(preMarker);
map.addOverlay(marker);
preMarker=marker;
}
});