高德地圖組件在vue項目中的應用
一、獲取高德地圖的key
獲取地址:高德開放平台https://lbs.amap.com/
1、手機號登錄高德開放平台
2、
3、選擇web服務,然后提交,就會生成key的值
二、npm安裝vue-amap
1.npm安裝vue-amap
npm install vue-amap --save
2.在項目main.js引入vue-amap
import AMap from 'vue-amap'; Vue.use(AMap); // 初始化vue-amap AMap.initAMapApiLoader({ // 高德key key: '你的key', // 插件集合 (插件按需引入) plugin: ['AMap.Geolocation'] });
3.重點來了
(1)在map.vue(我自己定義的 .vue) template 中加入
<template> <div class="amap-page-container"> <div :style="{width:'100%',height:'300px'}"> <el-amap vid="amap" :plugin="plugin" class="amap-demo" :center="center"> </el-amap> </div> <div class="toolbar"> <span v-if="loaded"> location: lng = {{ lng }} lat = {{ lat }} </span> <span v-else>正在定位</span> </div> <div v-on:click="req_post()" > 查詢周邊 </div> </div> </template> <style> .amap-demo { height: 300px; } </style>
(2)在 script export default 中加入
export default { data(){ const self = this; return { center: [121.59996, 31.197646], lng: 0, lat: 0, loaded: false, plugin: [{ enableHighAccuracy: true,//是否使用高精度定位,默認:true timeout: 100, //超過10秒后停止定位,默認:無窮大 maximumAge: 0, //定位結果緩存0毫秒,默認:0 convert: true, //自動偏移坐標,偏移后的坐標為高德坐標,默認:true showButton: true, //顯示定位按鈕,默認:true buttonPosition: 'RB', //定位按鈕停靠位置,默認:'LB',左下角 showMarker: true, //定位成功后在定位到的位置顯示點標記,默認:true showCircle: true, //定位成功后用圓圈表示定位精度范圍,默認:true panToLocation: true, //定位成功后將定位到的位置作為地圖中心點,默認:true zoomToAccuracy:true,//定位成功后調整地圖視野范圍使定位位置及精度范圍視野內可見,默認:f extensions:'all', pName: 'Geolocation', events: { init(o) { // o 是高德地圖定位插件實例 o.getCurrentPosition((status, result) => { console.log(result) if (result && result.position) { self.lng = result.position.lng; self.lat = result.position.lat; self.center = [self.lng, self.lat]; self.loaded = true; self.$nextTick(); } }); } } }] } } }
代碼參考
【作者:妄自
鏈接:https://www.jianshu.com/p/bde9526ad756
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並注明出處。】
【center:為焦點地址,可以修改,第一個參數為經度,第二個參數為維度】
三、獲得本地地圖坐標的經緯度
文檔地址:http://www.downza.cn/xy/22040.html
找到目的地->右擊->這是哪兒->更多->分享->復制->瀏覽器打開
瀏覽器網址中【https://www.amap.com/regeo?lng=117.115899&lat=36.114165&name=%E6%B3%B0%E5%AE%89%E5%B8%82%E5%B2%B1%E5%B2%B3%E5%8C%BA%E5%8D%97%E5%A4%A9%E9%97%A8%E5%A4%A7%E8%A1%97&adcode=370900】
Lng為經度,lat為維度