vue引入高德地图实现多点标记,且点击出现信息窗体
vue引入高德地图实现多点标记let marker = new AMap.Marker({position: new AMap.LngLat(this.positions[posi][0],this.positions[posi][1]),offset: new AMap.Pixel(-5, -5),icon: '', // 添加 Icon 图标 URLtitle: '西安',});
·
vue引入高德地图实现多点标记,点击标记点出现信息窗体
在public下的index.html中引入地图
<link rel="stylesheet" href="https://cache.amap.com/lbs/static/main1119.css"/>
<script src="https://webapi.amap.com/maps?v=1.4.15&key=申请的key"></script>
在要引入的组件中初始化地图
注意:地图给宽和高
<template>
<div>
<div id="container" style="width: 100%;height: 550px"></div>
</div>
</template>
在script中写如下代码:
<script>
export default {
data() {
return {
//要标记的所有点的经纬度
lnglats: [
[108.909074, 34.254225],
[108.910766, 34.254348],
[108.910495, 34.253531],
[108.909502, 34.253571],
],
}
},
mounted() {
this.carGPSIP()
},
methods: {
carGPSIP() {
var map = new AMap.Map("container", {resizeEnable: true});//初始化地图
//信息窗口实例
var infoWindow = new AMap.InfoWindow({offset: new AMap.Pixel(0, -30)});
//遍历生成多个标记点
for (var i = 0, marker; i < this.lnglats.length; i++) {
var marker = new AMap.Marker({
position: this.lnglats[i],//不同标记点的经纬度
map: map
});
marker.content = '我是第' + (i + 1) + '个Marker';
marker.on('click', markerClick);
marker.emit('click', {target: marker});//默认初始化不出现信息窗体,打开初始化就出现信息窗体
}
function markerClick(e) {
infoWindow.setContent(e.target.content);
infoWindow.open(map, e.target.getPosition());
}
map.setFitView();
}
},
}
</script>
更多推荐
已为社区贡献8条内容
所有评论(0)