准备工作:一个已经搭建好的vue项目
(我使用的是1.4的版本)
高德地图官网地址:https://lbs.amap.com/
api文档:https://lbs.amap.com/api/javascript-api-v2/documentation
这篇记录的是高德地图里面的js api
一、注册账号申请key和密钥
1.1 首先点击“控制台”进行登录,为了方便我采用的是“短信登录”,根据自己方便的方式进行登录,登录成功进去以后的界面如下图:
1.2 点击“创建新应用”,填写相关的信息
1.3 创建好以后点击右上角的“添加key”,并选择“Web端”,填写相关的信息;
1.4 最后就可以得到1.1中的效果
二、引入地图及地图初始化
回到首页---点击JS api---选择1.4的版本
2.1 然后在public/index.html中引入
<script src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
2.2 写一个空白的页面,可以自定义id,并在生命周期“mounted”中写以下代码,然后运行,即可得到地图。
var map = new AMap.Map('map', {
zoom:11,//级别
center: [116.397428, 39.90923],//中心点坐标
viewMode:'3D',//使用3D视图
mapStyle: "amap://styles/blue",//地图类型
});
2.3 常见的地图样式:(可以在“快速上手”页面的“亲手试一试”中体验),可以看见右下角有选择框,自己尝试调试一下。
amap://styles/normal: 默认地图样式;
amap://styles/darkblue: 黑蓝地图;
amap://styles/lightblue: 浅蓝地图;
amap://styles/grey: 灰色地图;
amap://styles/fresh: 清新地图;
amap://styles/blue: 蓝色地图;
amap://styles/whitesmoke: 白烟地图;
三、对地图的部分常用操作
3.1 给地图添加点标记
为了方便管理代码,我将地图初始化写在了一个方法里面,然后在mounted里面调用
initamap() {
var map = new AMap.Map("map", {
resizeEnable: true, //是否监控地图容器尺寸变化
mapStyle: "amap://styles/blue",
zoom: 5, //级别
center: [110.397428, 37.90923], //中心点坐标
});
//添加点标记
var marker = new AMap.Marker({
position: [116.39, 39.9], //位置
offset: new AMap.Pixel(-10, -10),//添加偏移程度
icon: "//vdata.amap.com/icons/b18/1/2.png", // 添加 Icon 图标 URL
});
map.add(marker); //添加到地图
},
效果展示:
3.2 给地图添加多边形标记
AMap.Polyline 对象提供了在地图图面绘制折线的能力,可以为折线设置宽度,描边颜色、线条样式等属性。
initamap() {
var map = new AMap.Map("map", {
resizeEnable: true, //是否监控地图容器尺寸变化
mapStyle: "amap://styles/blue",
zoom: 5, //级别
center: [110.397428, 37.90923], //中心点坐标
});
//添加点标记
var marker = new AMap.Marker({
position: [116.39, 39.9], //位置
offset: new AMap.Pixel(-10, -10), //添加偏移程度
icon: "//vdata.amap.com/icons/b18/1/2.png", // 添加 Icon 图标 URL
});
map.add(marker); //添加到地图
//标记多边形
var lineArr = [
[113.368904, 39.9046],
[100.382122, 39.9046],
[113.387271, 29.912501],
[113.368904, 39.9046],
];
var polyline = new AMap.Polyline({
path: lineArr, //设置线覆盖物路径
strokeColor: "#3366FF", //线颜色
strokeWeight: 5, //线宽
strokeStyle: "solid", //线样式
});
map.add(polyline);
},
效果展示:
3.3 给地图添加矢量图形标记
AMap.Circle 对象为用户提供在地图图面绘制圆形覆盖物的能力。可以为圆形覆盖物设置填充颜色、描边颜色、轮廓线样式等属性。
//初始化高德地图
initamap() {
var map = new AMap.Map("map", {
resizeEnable: true, //是否监控地图容器尺寸变化
mapStyle: "amap://styles/blue",
zoom: 5, //级别
center: [110.397428, 37.90923], //中心点坐标
});
//添加点标记
var marker = new AMap.Marker({
position: [116.39, 39.9], //位置
offset: new AMap.Pixel(-10, -10), //添加偏移程度
icon: "//vdata.amap.com/icons/b18/1/2.png", // 添加 Icon 图标 URL
});
map.add(marker); //添加到地图
//标记多边形
var lineArr = [
[113.368904, 39.9046],
[100.382122, 39.9046],
[113.387271, 29.912501],
[113.368904, 39.9046],
];
var polyline = new AMap.Polyline({
path: lineArr, //设置线覆盖物路径
strokeColor: "#3366FF", //线颜色
strokeWeight: 5, //线宽
strokeStyle: "solid", //线样式
});
map.add(polyline);
//标记矢量图形
var circle = new AMap.Circle({
center: new AMap.LngLat(111.39, 40.9), // 圆心位置
radius: 10000, // 圆半径
fillColor: "pink", // 圆形填充颜色
strokeColor: "#fff", // 描边颜色
strokeWeight: 2, // 描边宽度
});
map.add(circle);
},
效果展示: