您好,登錄后才能下訂單哦!
vue.js怎樣引入地圖,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
vue.js引入地圖的方法:1、進入天地圖官網拿到密鑰;2、在vue項目中的index.html中引入對應的src;3、新建map.js文件,在vue頁面中引用即可。
本文操作環境:windows10系統、vue 2.5.2、thinkpad t480電腦。
要在vue項目中引入地圖其實有很多種方法,比如我們可以使用天地圖、vue-amap燈的功能,兩種方式各有優勢,大家可以根據自己的需要來進行選擇。這里就介紹下天地圖方式。
具體方法步驟如下所示:
第一步是按照天地圖官網拿到自己的key(密鑰)
第二步是在你的vue項目中的 index.html 中引入對應的src。
<script src="//api.tianditu.gov.cn/api?v=4.0&tk=396a532e3cc05a260931d1b308636316"></script>
第三步就是建一個js文件 Map.js ,方便天地圖的引入,此文件可以放在你方便引入的位置。Map.js 中代碼如下
// 初始化地圖 export default { init() { return new Promise((resolve, reject) => { // 如果已加載直接返回 if (window.T) { console.log('地圖腳本初始化成功...') resolve(window.T) reject('error') } }) } }
第四步就可以在使用的vue頁面中引用了。代碼如下
<template> <div class="home"> <div id="bdmap" class="map" style ="position:absolute;bottom:0px;top:0px;width:100%"></div> </div> </template> <script> import MapInit from "@/components/Map.js" export default { data(){ return{ map: null, } }, created(){ this.init() }, methods:{ init(){ MapInit.init().then( T => { this.T = T; const imageURL = "http://t0.tianditu.gov.cn/img_c/wmts?tk=您的密鑰"; const lay = new T.TileLayer(imageURL, { minZoom: 1, maxZoom: 18 }); const config = { layers: [lay], name: 'TMAP_SATELLITE_MAP' }; this.map = new T.Map('bdmap', config); const ctrl = new T.Control.MapType(); this.map.addControl(ctrl); this.map.centerAndZoom(new T.LngLat(118.62, 28.75), 16) this.map.addEventListener("zoomend", () => { console.log(lay.Pe) }); }).catch() // 監聽縮放級別(縮放后的級別) } } } </script> <style> .map{ width: 100vw; height: 100%; position: absolute; } </style>
看完上述內容,你們掌握vue.js怎樣引入地圖的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。