【vue引用原生高德地图并多点标注】

【vue引用原生高德地图并多点标注】vue.js引用原生高德地图不是amap

大家好,又见面了,我是你们的朋友全栈君。

vue引用原生高德地图并多点标注

首先在vue项目中的pubic下的index.html的head中引用

<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>

然后在你创建的项目中设置一个div标签,要设置宽高

<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>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143667.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号