vue調用高德地圖:vue-amap


vue調用高德地圖攏共分三步

1.去高德開發者平台申請key;
2.安裝vue-amap;
3.使用組件調用地圖

2.vue安裝vue-amap

npm安裝

npm install vue-amap --save

 

CDN

目前可通過 unpkg.com/vue-amap 獲取最新版本的資源。

<script src="https://unpkg.com/vue-amap/dist/index.js"></script>

main.js引入vue-amap

// 引入vue-amap
import AMap from 'vue-amap';
Vue.use(AMap);

// 初始化vue-amap
AMap.initAMapApiLoader({
  // 高德的key
  key: 'YOUR_KEY',
  // 插件集合 (插件按需引入)
  plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch', 'AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PolyEditor', 'AMap.CircleEditor']
});

3.組件里調用高德地圖

需要注意:<el-amap>一定要設置寬高,不然地圖不會顯示。或者給外面套一個div,給div設置寬高也行。

vue-amap官網:https://elemefe.github.io/vue-amap/#/
高德開放平台:http://lbs.amap.com/

 

vue高德地圖TypeError: v.w.uh is not a constructor錯誤

這是由於地圖實例是異步加載的當.vue文件開始加載地圖的時候地圖還沒完成初始化而獲取不到地圖實例造成的。

錯誤代碼
main.js(初始化地圖)

import Vue from 'vue'
import VueAMap from 'vue-amap'
Vue.use(VueAMap);
VueAMap.initAMapApiLoader({
    key: '3b576d3486dc84adc303919ebc399dba',
    plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch','AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.Geolocation','AMap.Geocoder', 'AMap.AMapManager', 'AMap.Marker'],
    v: '1.4.4'

.vue組件中(直接使用)

解決辦法:不在main.js中初始化地圖,而是在要使用地圖的組件中初始化地圖(並且是在vue實例之前初始化)

<script>
  import VueAMap from 'vue-amap'
  VueAMap.initAMapApiLoader({
    key: '3b576d3486dc84adc303919ebc399dba',
    plugin: ['AMap.Autocomplete', 'AMap.PlaceSearch','AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.Geolocation','AMap.Geocoder', 'AMap.AMapManager', 'AMap.Marker'],
    v: '1.4.4'
  });
  import n from '../assets/n'
  const exampleComponents = {
      props: ['text'],
      template: `<div>text from  parent: {{text}}</div>`
  }
  export default {

  具體高德地圖,獲取點擊點的經緯度,地圖加標記。參照項目 mosilingWEB


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM