1. 程式人生 > >百度地圖自定義座標標識覆蓋物,隨地圖縮放偏移解決辦法

百度地圖自定義座標標識覆蓋物,隨地圖縮放偏移解決辦法

百度地圖在新增自定義標註的時候可能會遇見座標標識,隨著地圖縮放位置產生偏移,我折騰了一個上午,記下這篇。 
在此之前,請參考文章: 
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) 
注意這句指令碼,多少量大家可以自己除錯。

做好了這一步,那麼問題也就解決了。