摘要:下引入百度地圖的兩種方法前言今天有個項目需要用到百度地圖,一般我們在移動端使用百度地圖,都是直接通過這樣的方式,直接引入百度地圖的。通過模塊化引入的方法實際上百度地圖官方去年已經(jīng)開源了基于的和的對應開源組件,我們可以直接通過安裝,然后使用。
vue.js下引入百度地圖jsApi的兩種方法 前言
今天有個項目需要用到百度地圖,一般我們在移動端使用百度地圖,都是直接通過這樣的方式,直接引入百度地圖的jsApi。
這種方法的原理,就是直接給全局widow對象添加一個BMap對象,從而可以使我們在已經(jīng)加載api的頁面的任何地方,使用百度地圖的api。但是單單通過引入的方法,對于使用單文件組件的vue+webpack開發(fā)的項目,顯然是不夠的。于是,通過網(wǎng)上查資料。這里找到了兩種方法。
直接引入script標簽第一種方法是通過直接引入的方法,當然除了引入script標簽還不夠,要想在vue文件中使用bmap對象,還需要在webpack的配置文件中,設置外部擴展(externals屬性)
//webpack.dev.conf.js externals: { "BaiduMap": "BMap" }
externales屬性來自官方的解釋是:
防止將某些 import 的包(package)打包到 bundle 中,而是在運行時(runtime)再去從外部獲取這些擴展依賴(external dependencies)。
webpack文檔也給出了一個示例:從 CDN 引入 jQuery,而不是把它打包。
index.html
webpack.config.js
externals: { jquery: "jQuery" }
import $ from "jquery"; $(".my-element").animate(...);
參考這個實例,我們就可以在我們的項目中通過引入js文件的方法,直接使用百度地圖的api。
import BaiduMap from "BaiduMap" export default { name: "Index", .....
mounted() { var map = new BaiduMap.Map("allmap") // 創(chuàng)建地圖實例 var point = new BaiduMap.Point(120.343373,31.540212) // 創(chuàng)建中心點坐標 var marker = new BaiduMap.Marker(point) // 創(chuàng)建標注 map.centerAndZoom(point,15) // 初始化地圖,設置中心點坐標和地圖級別 map.addOverlay(marker) // 將標注添加到地圖中 }
注意這里,實例化地圖api,最好要在mounted階段進行,如果你的dom中采用的是官方的示例如
因為只有在mounted的階段,dom才會生成并掛載。
通過模塊化引入的方法實際上百度地圖官方去年已經(jīng)開源了基于jsApi的vue和react的對應開源組件,我們可以直接通過npm安裝,然后使用。
VUE:[https://github.com/Dafrok/vue...]
React:[https://github.com/huiyan-fe/...]
可參考它們在github上面的文檔進行使用。這里只介紹下vue的。
安裝
npm i vue-baidu-map --save
初始化
import Vue from "vue" import BaiduMap from "vue-baidu-map" Vue.use(BaiduMap, { ak: "YOUR_APP_KEY" //這個地方是官方提供的ak密鑰 })
使用
文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://www.ezyhdfw.cn/yun/96300.html
摘要:當屬性為合法地名字符串時例外,因為百度地圖會根據(jù)地名自動調整的值由于百度地圖只有一種加載方式,因此組件及其所有子組件的渲染只能是異步的。 在使用vue做項目的時候,有用到百度地圖,使用了vue-baidu-map插件,包括拾取位置坐標,搜索位置等 1.引入方式 showImg(https://segmentfault.com/img/bVbv0hs?w=835&h=531); 可在ap...
摘要:不建議底圖選擇中存在兩種不同坐標體系,如下圖坐標存在明顯的偏差,火星坐標在采用坐標系的地圖上位置偏上彩色中國天地圖全球衛(wèi)星地圖例如我們使用的類進行查找,返回的數(shù)據(jù)都是國際坐標,因此必須進行偏差糾正。 ArcGIS for javascript開發(fā)心得 本次實例中采用ArcGIS for javascript3.24版本,由于版本3與4在API等存在較大區(qū)別,就不一一列舉,詳細區(qū)別看官方...
摘要:異步加載異步加載指的是為指定加載的回調函數(shù),在的主體資源加載完畢之后,將自動調用該回調函數(shù)。 幾種加載js的方式 同步加載 異步加載 延遲加載 同步加載 用的最多的一種方式,又稱阻塞模式,會阻止瀏覽器的后續(xù)處理,停止后續(xù)的解析,只有當當前加載完成,才能進行下一步操作。所以默認同步執(zhí)行才是安全的。但這樣如果js中有輸出document內容、修改dom、重定向等行為,就會造成頁面堵塞。...
摘要:實際中我們可能會用到不同的地圖,那么就對應到不同坐標系的轉換,比如說,你有一份的數(shù)據(jù)服務,你要展現(xiàn)在百度或者高德地圖上,這時候你就需要轉換了。 地圖坐標轉換 LBS,基于位置的服務(Location Based Service),近年來已經(jīng)無處不在,尤其是我們前端,相信或多或少都有接觸一些地圖API服務,比如高德、百度啊、谷歌啊~但是用的時候可能看到下面這些字眼:比如BD09、火星坐標...
閱讀 2442·2021-11-18 10:07
閱讀 2390·2021-09-22 15:59
閱讀 3149·2021-08-23 09:42
閱讀 2361·2019-08-30 15:44
閱讀 1251·2019-08-29 15:06
閱讀 2420·2019-08-29 13:27
閱讀 1289·2019-08-29 13:21
閱讀 1509·2019-08-29 13:13