vue项目中使用vue-amap进行定位功能
vue-amap定位安装 :npm install vue-amap --save注册以及获取key在官网进行注册 https://lbs.amap.com/在控制台的应用管理/我的应用中添加应用,添加key配置 :main.js中引入并配置,plugin根据自己需要添加//vue-amapimport VueAMap from 'vue-amap'Vue.use(VueA...
·
vue-amap定位
安装 :npm install vue-amap --save
注册以及获取key
- 在官网进行注册 https://lbs.amap.com/
- 在控制台的应用管理/我的应用中添加应用,添加key
配置 :main.js中引入并配置,plugin根据自己需要添加
//vue-amap
import VueAMap from 'vue-amap'
Vue.use(VueAMap)
// 初始化vue-amap
VueAMap.initAMapApiLoader({
key: '你的key值',
plugin: ['AMap.Scale', 'AMap.OverView', 'AMap.ToolBar', 'AMap.MapType', 'AMap.PlaceSearch', 'AMap.Geolocation'],
uiVersion: '1.0.11' // 版本号
})
封装组件 :我把它设置成一个基础组件,业务组件引用即可使用
<template>
<div class="amap-page-container">
<!-
zoom:放缩程度 ,
plugin:data中有定义,是一些插件,如工具栏等等,
center:定位经纬度位置
el-amap:高德地图组件
-->
<el-amap
vid="amap"
:zoom="zoom"
:plugin="plugin"
class="amap-demo"
:center="center"
>
</el-amap>
<div class="toolbar">
<span v-if="loaded">
location: lng = {{ lng }} lat = {{ lat }}
</span>
<span v-else>正在定位</span>
</div>
</div>
</template>
<script>
export default {
data() {
let self = this;
return {
center: [121.59996, 31.197646],
zoom: 17,
lng: 0,
lat: 0,
loaded: false,
plugin: [ //一些工具插件
{
pName: 'Geolocation', //定位
events: {
init(o) {
// o 是高德地图定位插件实例
o.getCurrentPosition((status, result) => {
if (result && result.position) {
self.lng = result.position.lng; //设置经度
self.lat = result.position.lat; //设置维度
self.center = [self.lng, self.lat]; //设置坐标
self.loaded = true; //load
self.$nextTick(); //页面渲染好后
}
})
}
}
},
{
pName: 'ToolBar', //工具栏
events: {
init(instance) {
// console.log(instance);
}
}
},
{
pName: 'OverView', //鹰眼
events: {
init(instance) {
// console.log(instance);
}
}
},
{
pName: 'MapType', //地图类型
defaultType: 0,
events: {
init(instance) {
// console.log(instance);
}
}
}
]
}
},
methods: {
//把经纬度传到父组件
sendlnglat (){
this.$emit('register', this.lng, this.lat)
}
}
}
</script>
<style>
.amap-page-container {
position: relative;
width: 100%;
margin-top: 0.03rem;
height: 500px;
font-size: 0.12rem;
color: #fff;
}
</style>
参考官方vue-amap文档,地址:https://elemefe.github.io/vue-amap/#/zh-cn/introduction/install
各位小伙伴可根据自己需要自扩展功能
更多推荐
已为社区贡献1条内容
所有评论(0)