1.官网上需要注册并登录高德地图开放平台,申请密钥(如图1)。(高德地图官网)选择Web端,添加成功后,可以获取到(图2)key和密钥
2.Vue项目终端安装地图加载包
npm i @amap/amap-jsapi-loader --save 或者
yarn add @amap/amap-jsapi-loader --save
3.在main.js引入地图、使用
import VueAMap from 'vue-amap';
// 初始化vue-amap
Vue.use(VueAMap);
// 设置高德API密钥
VueAMap.initAMapApiLoader({
key: '0xxxxxxxxx876', // 这里将'key'替换成自己的高德API密钥
plugin: ['AMap.Geolocation'], // 加载所需的插件
});
4.新建mapContainer.vue文件
<template>
<div id="mapContainer">mapContainer</div>
</template>
<script>
import VueAMap from 'vue-amap';
// 初始化vue-amap
// Vue.use(VueAMap);
// 设置高德API密钥
VueAMap.initAMapApiLoader({
key: '034df9a2cc131b871b5a083a05e8a876', // 这里将'your_api_key'替换成自己的高德API密钥
plugin: ['AMap.Geolocation'], // 加载所需的插件
});
// 设置安全密钥
window._AMapSecurityConfig = {
securityJsCode: "034df9a2cc131b871b5a083a05e8a876",
};
export default {
name: "MapContainer",
data() {
return {
};
},
mounted() {
setTimeout(() => {
const map = new AMap.Map('mapContainer'); // 创建地图对象
// 获取当前位置信息
AMap.plugin(['AMap.Geolocation'], () => {
var geolocation = new AMap.Geolocation();
geolocation.getCurrentPosition((status, result) => {
if (status === 'complete') {
console.log(result,'36'); // 输出当前位置信息
// 添加标记到地图上
var marker = new AMap.Marker({
position: [result.position.lng, result.position.lat],
map: map,
});
} else {
console.error('定位失败!');
}
});
});
});
},
methods: {
},
};
</script>
<style lang="less" scoped>
#mapContainer {
width: 100%;
height: 100%;
}
</style>
5.页面引入地图页面
<template>
<div class="demoManage">
demoManagedemoManage、
<div class="map_box"><MapContainer></MapContainer></div>
</div>
</template>
<script>
import MapContainer from "../../components/MapContainer.vue";
export default {
name: "demoManage",
components: {
MapContainer,
},
data() {
return {};
},
};
</script>
<style lang="scss" scoped>
.demoManage{
height: 100%;
.map_box {
width: 100%;
height: 100%;
}
}
</style>