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 获取最新版本的资源。
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.组件里调用高德地图
需要注意:
vue-amap官网:https://elemefe.github.io/vue-amap/#/
高德开放平台:http://lbs.amap.com/
详细功能以及用法请看
https://lbs.amap.com/demo/javascript-api/example/mapbar/toolbar-litestyle
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实例之前初始化)