百度地图自定义坐标标识覆盖物,随地图缩放偏移解决办法

百度地图在添加自定义标注的时候可能会遇见坐标标识,随着地图缩放位置产生偏移,我折腾了一个上午,记下这篇。
在此之前,请参考文章:
http://www.cnblogs.com/jz1108/archive/2011/09/15/2152122.html
但是注意:

var icon = new BMap.Icon('pin.png', new BMap.Size(20, 32), {
    anchor: new BMap.Size(10, 30)
});

第一步:

new BMap.Size(20, 32)
大概设置成图片的尺寸大小,但是最好多出2到3个像素(px),如图片是20x30,那么你可以设置成new BMap.Sie(22,32)

第二步:

anchor: new BMap.Size(10, 30)
这里有两个数字10,30分别对应图标的一半宽度和高度

但是上面两步都设置好了,有时候你会发现自己添加的标注也看不见了,这很尴尬,我就在这折腾了半天,大家可以吧第一步宽和高的值扩大(稍微大一点),按F12进行查看,你会发现添加的标注图片偏移在右下角。那么就可以做最后一步了。

最后一步:

var icon = new BMap.Icon('pin.png', new BMap.Size(20, 32), {
    anchor: new BMap.Size(10, 30),
    imageOffset: new BMap.Size(0-20, 0 - 17)
});

imageOffset: new BMap.Size(0-20, 0 - 17)
注意这句脚本,多少量大家可以自己调试。

做好了这一步,那么问题也就解决了。

你可能感兴趣的:(百度地图)