vue中引入高德地图并多点标记

步骤:

  • 通过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: 700px"></div>
  </div>
</template>
<script>
export default {
  data() {
    return {
    //假数据   经纬度
      lnglats: [
        [113.922282,35.332887],
	    [113.963101,35.318516],
	    [113.960801,35.306263],
	    [113.926809,35.301255]
      ],
    }
  },
  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>
<style>
</style>
Logo

前往低代码交流专区

更多推荐