Vue引入高德地图并触发实现多个标点的示例详解

 更新时间:2022年05月28日 10:02:27   作者:张清悠  
这篇文章主要介绍了Vue引入高德地图并触发实现多个标点,主要是在public下的index.html中引入地图,引入组件设置宽高100%,本文通过示例代码给大家介绍的非常详细,需要的朋友可以参考下

1、 在public下的index.html中引入地图

<link rel="stylesheet" href="https://cache.amap.com/lbs/static/main1119.css" rel="external nofollow"   />
<script src="https://webapi.amap.com/maps?v=1.4.15&key=申请的key"></script>

2、引入组件设置宽高100%

<template>
  <div>
    <div id="container" style="width: 100%;height: 550px"></div>
  </div>
</template>

3、数组形式数据固定(一)

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

4、用ajax请求后端真是接口(二)

<template>
      <div id="container" style="width: 100%;height: 550px"></div>  
      <!-- 设置宽和高 -->
</template>

<script>
export default {
  data() {
    return {
    //要标记的所有点的经纬度
      Coordinate:[]
      //  Coordinate:[
      //    {
      //      lng:"54.323243",
      //      lat:"43.654322"
      //    }
      //  ]  //后端返回的数据格式

    }
  },
  mounted() {
    this.carGPSIP()
  },
  methods: {
    carGPSIP() {
      var map = new AMap.Map("container", {resizeEnable: true});//初始化地图
      //信息窗口实例
      var infoWindow = new AMap.InfoWindow({offset: new AMap.Pixel(0, -30)});
      //遍历生成多个标记点 因后端返回是map格式因此需要判断code
    $ajax.positionType({}, ({ code, data }) => {
        if (code == 200) {
          console.log(data);
          this. Coordinate = data.deviceList; //拿到数据
          let  Coordinate = data.deviceList;  //定义Coordinate
          for (var i = 0; i < this. Coordinate.length; i++) {
            var marker = new AMap.Marker({
              position: new AMap.LngLat( Coordinate[i].lng,  Coordinate[i].lat), //不同标记点的经纬度
              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();
        }
      });
      function markerClick(e) {
        infoWindow.setContent(e.target.content);
        infoWindow.open(map, e.target.getPosition());
      }
      map.setFitView();
      }
    },
}
</script>
<style>
</style>

5、其他需求请看文档请看官方文档

lbs.amap.com/api/javascr…

综上就是简答使用高德地图分全部过程,具体需求请参照高德官方api

到此这篇关于Vue引入高德地图并触发实现多个标点的文章就介绍到这了,更多相关vue高德地图触发多个标点内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在IDEA中Debug调试VUE项目的详细步骤

    在IDEA中Debug调试VUE项目的详细步骤

    idea竟然有一个神功能很多朋友都不是特别清楚,下面小编给大家带来了在IDEA中Debug调试VUE项目的详细步骤,感兴趣的朋友一起看看吧
    2021-10-10
  • Vue echarts绘制甘特图的示例代码

    Vue echarts绘制甘特图的示例代码

    甘特图是一种条状图,直观展示项目进展随时间的走势及联系,其中,项目时间由横轴表示,项目活动由纵轴表示,本文给大家介绍了Vue echarts绘制甘特图的实现方法,并有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-03-03
  • Vue3配置vite.config.js解决跨域问题的方法

    Vue3配置vite.config.js解决跨域问题的方法

    跨域一般出现在开发阶段,由于线上环境前端代码被打包成了静态资源,因而不会出现跨域问题,这篇文章主要给大家介绍了关于Vue3配置vite.config.js解决跨域问题的相关资料,需要的朋友可以参考下
    2024-07-07
  • vue接通后端api以及部署到服务器操作

    vue接通后端api以及部署到服务器操作

    这篇文章主要介绍了vue接通后端api以及部署到服务器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • Vue3中watch无法监听的解决办法

    Vue3中watch无法监听的解决办法

    本文主要介绍了Vue3中watch无法监听的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-05-05
  • vue+echarts实现进度条式柱状图

    vue+echarts实现进度条式柱状图

    这篇文章主要为大家详细介绍了vue+echarts实现进度条式柱状图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • vue使用better-scroll实现下拉刷新、上拉加载

    vue使用better-scroll实现下拉刷新、上拉加载

    这篇文章主要为大家详细介绍了vue使用better-scroll实现下拉刷新、上拉加载,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • vue引入ueditor及node后台配置详解

    vue引入ueditor及node后台配置详解

    这篇文章主要介绍了vue引入ueditor及node后台配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Vue表单校验validate和validateField的使用及区别详解

    Vue表单校验validate和validateField的使用及区别详解

    validateField 和 validate 都可以用于表单验证,但是它们的作用有所不同,下面这篇文章主要给大家介绍了关于Vue表单校验validate和validateField的使用及区别的相关资料,需要的朋友可以参考下
    2024-04-04
  • vue如何调用摄像头实现拍照上传图片、本地上传图片

    vue如何调用摄像头实现拍照上传图片、本地上传图片

    这篇文章主要给大家介绍了关于vue如何调用摄像头实现拍照上传图片、本地上传图片的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-07-07

最新评论