在百度地图,自定义图标后,发现默认是通过图片的中心点进行渲染图片坐标点的。
如果要达到下面图片的坐标点,的底部尖尖为坐标点,在BMap.Icon需要定义anchor参数进行偏移处理。
(默认32*32,实际加载图片大小)var cnyPoint = new BMap.Point(113.2878,23.1297); // 中心坐标
var myIcon = new BMap.Icon("/themes/images/fwd.png", new BMap.Size(32,32),{anchor:new BMap.Size(16, 32)});
var cnyMarker = new BMap.Marker(cnyPoint,{icon:myIcon}); // 创建标注
cnyMarker.disableMassClear();
anchor参数说明BMap.Size(width: Number, height: Number)
这个参数是通过以图标的定位点相对于图标左上角的偏移值,所有我们的图片为32*32。
相对左上角,偏移的宽度为中间,为一半,即16。
相对左上角,偏移的高度为底部,整个高度了,即32。
就可以实现自定义的坐标图片,指向为实际的坐标位置点。
本文作者: Liaodeity
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!