問題:
var map = new BMap.Map("mapshow"); map.centerAndZoom(point, 15);
顯示百度地圖時,map.centerAndZoom使用point作為參數時,標點不出現在中心處。
原因:
我是隱藏狀態下(display:none)創建的地圖
這樣會導致地圖容器寬高為0,在寬高為0的容器上,中心點自然也是0了
這算是BMap的缺陷吧,只能在可視的情況下或者display:visibile下創建地圖。
解決辦法:
我使用的是bootstrap的模態框作為地圖的容器的。使用模態框的打開箭頭事件 show.bs.modal。將地圖容器設置為 display","visibile
$("#publish").on("show.bs.modal",function() { $(".map-container").css("display","visibile");//地圖容器設置為不可見,取代了none。等待地圖創建 }
等待地圖創建完成后,需要將display的參數visibile變成none,這樣不會占位置。
1 $(".map-container").css("display","none");
效果:標注出現在了中間