1. 程式人生 > >百度地圖 彈窗效果,標註總顯示在左上角

百度地圖 彈窗效果,標註總顯示在左上角

scroll coder 自動 poi level edr local board 放大縮小

現象一: 地圖彈窗先隱藏 ->顯示地圖彈窗->設置marker -> 設置centerAndZoom

技術分享

  看效果標註層定點位置有問題(因顯隱),中心點還是相對於左上角。(不知道是不是這樣,先標記待查)

現象二: 地圖彈窗先隱藏->設置marker -> 設置centerAndZoom ->顯示地圖彈窗

技術分享

隱藏時左上角是地圖中心點,所以標註在左上角(上圖為了展示效果,手動將地圖向右下角移動了一下)

解決:每次顯示地圖之前都需要初始化地圖,例如:

    var map = new BMap.Map("dituContent");
        var
point = new BMap.Point(longitude, latitude); map.centerAndZoom(point, opts.level); mapGeo = new BMap.Geocoder(); map.enableDragging();// 啟用地圖拖拽事件,默認啟用(可不寫) map.enableScrollWheelZoom();// 啟用地圖滾輪放大縮小 map.enableDoubleClickZoom();// 啟用鼠標雙擊放大,默認啟用(可不寫) map.enableKeyboard();//
啟用鍵盤上下左右鍵移動地圖 map.addEventListener("click", function(e) { }) localSearch = new BMap.LocalSearch(map); localSearch.enableAutoViewport(); // 允許自動調節窗體大小

百度地圖 彈窗效果,標註總顯示在左上角