1. 程式人生 > >Js_百度地圖api的一個坑

Js_百度地圖api的一個坑

呼叫百度地圖api時候標記的marker發飄的解決辦法

Js呼叫百度地圖api的時候發現標記好的小紅點並沒有在地圖中央顯示

前提:已經用map.centerAndZoom(point,xx);設定好中心點

問題:頁面加載出來並沒有在顯示小紅點,相反,小紅點飄到地圖視窗的上邊緣處,甚至看不到小紅點了

問題圖例:

發飄的中心點.PNG

解決:設定一個新點point_new,point_new的座標比point更飄(如point在地圖視窗中飄到上邊緣以外[向北方向飄],
那麼設定point_new的座標為比point更北的一個座標)並使用map.centerAndZoom(point_new,xx);

設定這個新點為中心點,這樣強行把頁面‘扳’過來。

解決圖例:

在中心的小紅點.png

一個具體例子

var point = new BMap.Point(xxx.yyyyy,mm.nnnnn);//真正我想要的point
var point_new = new BMap.Point(xxx.y(y+1)yyy,mm.n(n+1)nnn);
//設定一個新點point_new,point_new的座標比point更飄(如point在地圖視窗中飄到上邊緣以外[北方向飄],那麼設定point_new的座標為比point更北的一個座標)
map.centerAndZoom(point_new, 15);//地圖中心點偏移校正,以更飄的地點座標作為中心點以獲取真正顯示中心點為point
var marker = new BMap.Marker(point); // 建立標註 map.addOverlay(marker);//顯示標註

visitor tracker
訪客追蹤外掛