前端系列——vue2+高德地图web端开发(地图控件)
前言
本次文章仅围绕地图组件展开
地图控件说明
控件使用
了解关键使用方法名
map.addControl()
没错就是这个addControl()用于在地图中添加组件 知道这个之后我们直接开始
1.在loader的plugins中进行引入
进入MapContainer.vue中找到我们的initMap函数的plugins,添加一个AMap.Scale比例尺控件
methods: {
initMap() {
AMapLoader.load({
key: 2c1c4affeb410923990fec54c5af721a, // 申请好的Web端开发者Key,首次调用 load 时必填
version: 2.0, // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
plugins: [AMap.Scale] // 需要使用的的插件列表,如比例尺AMap.Scale等
})
.then(AMap => {
this.map = new AMap.Map(container, {
//设置地图容器id
viewMode: 3D, //是否为3D地图模式
zoom: 10, //初始化地图级别
center: [121.473667, 31.230525] //初始化地图中心点位置
})
})
.catch(e => {
console.log(e)
})
}
},
2.在then中使用addControl函数进行定义
this.map.addControl(new AMap.Scale())
完整代码
<template>
<div id="container"></div>
</template>
<script>
import AMapLoader from @amap/amap-jsapi-loader
export default {
data() {
return {
map: null
}
},
methods: {
initMap() {
AMapLoader.load({
key: 2c1c4affeb410923990fec54c5af721a, // 申请好的Web端开发者Key,首次调用 load 时必填
version: 2.0, // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
plugins: [AMap.ToolBar, AMap.Scale, AMap.HawkEye, AMap.MapType, AMap.Geolocation] // 需要使用的的插件列表,如比例尺AMap.Scale等
})
.then(AMap => {
this.map = new AMap.Map(container, {
//设置地图容器id
viewMode: 3D, //是否为3D地图模式
zoom: 10, //初始化地图级别
center: [121.473667, 31.230525] //初始化地图中心点位置
})
this.map.addControl(new AMap.Scale())
this.map.addControl(new AMap.ToolBar())
this.map.addControl(new AMap.HawkEye())
this.map.addControl(new AMap.MapType())
this.map.addControl(new AMap.Geolocation())
})
.catch(e => {
console.log(e)
})
}
},
mounted() {
//DOM初始化完成进行地图初始化
this.initMap()
}
}
</script>
<style lang="less">
#container {
padding: 0px;
margin: 0px;
width: 100%;
height: 100%;
}
</style>
