【問題】 百度地圖marker不在中心點處


問題:

 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");

效果:標注出現在了中間

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM