已經(jīng)大概有兩個月沒寫日志了,因為試用期唄,就很少寫日志了忧便。今天難得空(忙中偷閑),就寫一下這兩天開發(fā)中關(guān)于vue2中引用騰訊地圖的問題帽借。
先寫一下起因吧(不想看可以跳過)珠增,就是在某個申請功能上,插入騰訊地圖來選點砍艾,同時獲得經(jīng)緯度蒂教。其實起初并沒有要插入地圖的想法。因為獲取位置嘛脆荷,直接使用bom操作就好了
navigator.geolocation.getCurrentPosition
起初是打算直接拿到經(jīng)緯來調(diào)用接口拿到位置凝垛,結(jié)果后來接口遲遲下不來,遂決定插入第三方組件简烘,在商榷之后一致決定使用騰訊地圖(然而說好之后后來還是出現(xiàn)了經(jīng)緯標(biāo)準不一致的問題)苔严。
那么接下來我將遇到的問題大致分為以下三點(此處就不再對密鑰獲取進行贅述,獲取詳情可以去官網(wǎng)那邊看)
一孤澎、騰訊地圖組件的引用及問題
https://lbs.qq.com/webApi/component/componentGuide/componentMarker
先放上官方網(wǎng)址,用法可以說是相當(dāng)簡單了欠窒,用iframe引入就行覆旭,沒有多余操作。界面也相當(dāng)簡潔明了岖妄,這里唯一的問題型将,就是關(guān)于當(dāng)前經(jīng)緯獲取的問題。我在項目引用時荐虐,一直無法直接獲取到當(dāng)前定位七兜。實在沒辦法,我這里調(diào)用原生的方法獲取經(jīng)緯后福扬,以傳參的方式定位(參數(shù)coord)腕铸,但這就出現(xiàn)了另一個問題惜犀,組件中有一個重定位的功能,重定位之后并不會回到我們傳入的經(jīng)緯狠裹,而是當(dāng)前默認城市的中心虽界。這就很惡心了,我上網(wǎng)查了很久涛菠,無法解決莉御,最后痛定思痛覺得使用Javascript API GL構(gòu)建
二、騰訊地圖Javascript API GL構(gòu)建自定義地圖
廢話不多說俗冻,直接開搞礁叔。
首先vue玩家需要在index.html中引入js(key就是密鑰)
<script src="https://map.qq.com/api/gljs?v=1.exp&key="></script>
然后就是重點,根據(jù)所需定義類
好些人估計直接就是以js的寫法直接let xx了迄薄,雖然并沒有什么問題琅关,但建議還是在data中初始化,然后構(gòu)建噪奄。
p.s.這里附上官方給出的所有可使用類https://lbs.qq.com/webApi/javascriptGL/glDoc/glDocIndex
然后根據(jù)官網(wǎng)的描述死姚,我們這里可以先試著初始化基礎(chǔ)地圖
const _this = this;
this.center = new TMap.LatLng(this.latitude, this.longitude);
this.demoMap = new TMap.Map(document.getElementById("demo"), {
? ? ? ? center: _this.center, //設(shè)置地圖中心點坐標(biāo)
? ? ? ? zoom: xx, //設(shè)置地圖縮放級別
? ? ? ? pitch: xx, //設(shè)置俯仰角
? ? ? ? rotation: xx, //設(shè)置地圖旋轉(zhuǎn)角度
? ? ? });
這里說明以下,若是開啟了代碼查驗的話勤篮,可能會報錯都毒,寫成window.TMap就行
初始化地圖以后,我們可以很簡潔的看見地圖已經(jīng)構(gòu)建在我們的視圖頁面demo的div里了(麻煩頁面自己寫謝謝)碰缔,可以看到账劲,騰訊地圖的頁面還是非常好看簡介的(就是有點卡)
這里再舉個例吧,服務(wù)類庫的初始化
? ? ? this.suggest = new TMap.service.Suggestion({
? ? ? ? // 新建一個關(guān)鍵字輸入提示類
? ? ? ? pageSize: xx, // 返回結(jié)果每頁條目數(shù)
? ? ? ? region: "xx, // 限制城市范圍
? ? ? ? regionFix: true, // 搜索無結(jié)果時是否固定在當(dāng)前城市
? ? ? });
?????????? 調(diào)用
????????? this.suggest
? ? ? ? ? .getSuggestions({
? ? ? ? ? ? keyword: ‘’,
? ? ? ? ? ? location: ‘’,
? ? ? ? ? })
這樣應(yīng)該就很明確了金抡,我們通過構(gòu)建類瀑焦,來調(diào)取類的方法,從而實現(xiàn)地圖的各個功能梗肝。并且地圖的ui是可以自己來寫的榛瓮,這樣比起組件的調(diào)用來說,要更加的便捷巫击。
三禀晓、騰訊地圖api的一些要點問題? 寫后感?
感覺寫的有點簡單了坝锰,不過其實是真的很簡單粹懒。。大概當(dāng)時寫的時候覺得問題很大顷级,但搞定以后再想覺得那是真的easy凫乖,大概人都是這樣吧。這里本來想寫一下當(dāng)時寫的時候出現(xiàn)的諸多問題,但過了兩三天帽芽,再回想又覺得那只是我對基礎(chǔ)只是的不牢靠删掀,所以左思右想決定放棄。
其實就還是那個多查多看嚣镜,查百度查論壇爬迟,看文檔看帖子,多看就送會有的菊匿。就是這樣~