new BMapGL 靈活運用

項目上搞了個百度地圖定位,給大家詳細(xì)說說免得踩坑;

new?BMapGL跟new?BMap 類似,前者多了個3D;

這里重點講兩點,也是很重要的兩點:

1.一定要在頁面關(guān)閉或路由跳轉(zhuǎn)的時候清除地圖,this.Map.destroy();,建議地圖初始化后把地圖存在全局,有利于后面在地圖上操作;

2.一定要在lazyBMapApiLoaderInstance.load()后初始化地圖保證地圖可以渲染出來,不然會有問題

好了上代碼;

首先這個地圖比較消耗渲染時間,所以我們在進入頁面時優(yōu)先先把基本地圖樣式先渲染出來

import?{?lazyBMapApiLoaderInstance?}?from?"vue-bmap-gl";

在mounted里執(zhí)行下面方法,渲染地圖,防止出現(xiàn)未知的錯誤

lazyBMapApiLoaderInstance.load().then(()?=>?{

??????this.Map_init();

????});

初始化完成之后,在操作地圖時直接操作 this.Map就可以了;

// api鏈接?https://mapopen-pub-jsapi.bj.bcebos.com/jsapi/reference/jsapi_webgl_1_0.html#a0b0


function Map_init(){

??let?_this?=?this;

??????//?//?禁止地圖旋轉(zhuǎn)和傾斜

??????var?map?=?new?BMapGL.Map("container",?{

????????enableRotate:?false,

????????enableTilt:?false

??????});?//?創(chuàng)建地圖實例

??????map.centerAndZoom(

????????new?BMapGL.Point(_this.BMapGLPoint.lng,?_this.BMapGLPoint.lat),

????????12

??????);?//?初始化地圖,設(shè)置中心點坐標(biāo)和地圖級別

??????this.Map?=?map;

??????map.setHeading(0);?//設(shè)置地圖旋轉(zhuǎn)角度

??????map.setTilt(40);

??????//?map.NavigationControl3DOptions(40);?//設(shè)置地圖的傾斜角度

??????map.setDefaultCursor("crosshair");?//設(shè)置地圖默認(rèn)的鼠標(biāo)指針樣式

??????map.disableDoubleClickZoom();?//禁用雙擊放大

??????map.disableDragging();?//禁用地圖拖拽

??????map.setDefaultCursor("default");

?????map.setTilt(40);?//地圖偏移后,視角偏移40度

};

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容