1.首先在index.html中引入高德地图

<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=&plugin=AMap.Driving"></script>

备注:key是在高德地图平台申请的密钥必填的,plugin是插件所用到的方法(这里使用的是行程经纬度)

2.在需要使用地图的界面:

<div id="container"></div>

script中 设置全局变量 var MAP,driving;

在mounted中:

MAP = new AMap.Map('container', {

                mapStyle: 'amap://styles/normal',
                zoom: 4, //级别
                center: [116.397428, 39.90923], //中心点坐标
                viewMode: '3D', // 地图模式
                pitch: 43.5, //设置俯仰角
            });
  这样就可以显示地图了,然后我们把marker添加到地图上
 
   使用axios获取后台接口:
     axios.post('后台接口地址').then(res=>{
           let {code,data} = res.data;
           if(code == 200){
              data.map(item=>{

                    let marker = new AMap.Marker({

                                    map: MAP,
                                    icon: require('../images/markerIcon.png') ,//marker图标
                                    position: [item.longitude, item.latitude],//接口返回经纬度
                                    title:item.carNumber,
                    });
              })
          }
     })
 
   

如果是需要动态切换图标的位置则会用到websocket;

那么把上边的方法直接写到onMessage里边就可以了,但是在渲染marker之前,必须先调用MAP.clearMap()方法,

再进行渲染,否则marker图标改变位置时,原先的marker图标依然还在而导致marker图标越来越多。

3.再说这个plugin获取行程路径的方法

在method中定义一个方法:

showMap() {

      MAP = new AMap.Map("container", {
          resizeEnable: true,
          center: [116.397428, 39.90923],//地图中心点
          zoom: 13 //地图显示的缩放级别
      });
      //构造路线导航类
      driving = new AMap.Driving({
        map: MAP,
        panel: "panel"
      });
      this.tuJingPath = [];
      axios.post('后台接口地址').then(res=>{
        let {code,data} = res.data;
        if(code==200){
          this.startPath = [data[0].longitude,data[0].latitude];//起点坐标
          this.endPath = [data[data.length-1].longitude,data[data.length-1].latitude];//终点坐标
          data.map(item=>{
            this.tuJingPath.push(new AMap.LngLat(item.longitude,item.latitude))
            this.tuJingPath.shift();
            this.tuJingPath.pop();
          })
          // 根据起终点经纬度规划驾车导航路线
          driving.search(this.startPath,this.endPath,{waypoints:this.tuJingPath},(status, result)=>{
              if (status === 'complete') {
                  // log.success('绘制驾车路线完成')
              } else {
                  // log.error('获取驾车数据失败:' + result)
              }
          })
        }
      })
    },
    
在需要这个功能的页面直接调用就OK:

还有许多方法,高德文档上都有,感兴趣的小伙伴可以详细看一下,随时沟通!

vue+高德地图配置及添加marker的更多相关文章

  1. javascript高德地图实现点击marker消失marker

    javascript高德地图实现点击marker消失marker <pre> var markers = []; var positions = [[120.17718, 30.21772 ...

  2. Vue 高德地图 路径规划 画点

    CDN 方式 <!--引入高德地图JSAPI --> <script src="//webapi.amap.com/maps?v=1.4.13&key=您申请的ke ...

  3. vue 高德地图之玩转周边

    前言:在之前的博客中,有成功引入高德地图,这是以前的地址  vue 调用高德地图. 因为一些需求,需要使用到地图的周边功能. 完整的项目代码请查看  我的github 一 .先看要实现的结果,参考了链 ...

  4. VUE 高德地图选取地址组件开发

    高德地图文档地址 http://lbs.amap.com/api/lightmap/guide/picker/ 结合步骤: 1.通过iframe内嵌引入高德地图组件 key就选你自己申请的key &l ...

  5. vue 高德地图

    index.html <link rel="stylesheet" href="http://cache.amap.com/lbs/static/main1119. ...

  6. android 百度地图 通过剪裁图片添加 Marker

    初始化百度地图: private void initViews() { mMapView = (MapView) findViewById(R.id.bmapView); mBaiduMap = mM ...

  7. iOS高德地图自定义annotation添加不同图片

    1.model类里面添加index #import <MAMapKit/MAMapKit.h> #import <AMapSearchKit/AMapCommonObj.h> ...

  8. js/vue 高德地图绘制驾车路线图

    地图容器: // css要给此容器设置宽高 <div class="map_container"></div> 画图 data{ return { Clng ...

  9. vue 高德地图使用 vue-amap

    此插件文档及使用还不错 https://elemefe.github.io/vue-amap/ <template> <div class="amap-page-conta ...

  10. 前端vue使用高德地图

    首先,注册Key 1.注册开发者账号,成为高德开放平台开发者 2.登陆之后,在进入「应用管理」 页面「创建新应用」 3.为应用添加 Key,「服务平台」一项请选择「 Web 端 ( JSAPI ) 」 ...

随机推荐

  1. centos/rockylinux/proxmoxve重置root密码 以及 在#bash 下 重启

    在 gurb 模式下,按[e]进入编辑页面 在 第3段 的末尾处添加以下代码,然后[Ctrl+X]即当前配置启动 init=/bin/bash 挂载,并使用命令重置密码 挂载 / mount -rw ...

  2. IDEA中常见问题

    idea中不存在.iml文件项目主目录下执行命令行mvn idea:module

  3. Winfrom ComboBox中的性能探索

    在为Control维护元素列表的过程中,会不可避免的造成性能损耗,我们接下来要探究的就是哪种方式才是我们的最优解. 方案比较 以ComboBox为例,常见的方式一共有两种:Add.AddRange. ...

  4. Gitblit的windows安装(java编写)

    准备工作: 1.jdk(大于等于1.8版本)2.GitBlit压缩包:jdk下载地址:https://www.java.com/zh-CN/Gitblit下载地址:http://www.gitblit ...

  5. OTP: gen_server的简单应用

    1.确定回调模块名 2.编写接口函数 3.在回调模块里编写六个必需的回调函数 1.确定回调模块名 my_bank 2.编写接口方法 start() 打开银行 stop() 关闭银行 new_accou ...

  6. OSPF配置知识总结3(多区域配置)

    OSPF配置知识总结3(多区域配置) 1.相关解释: 要解决网络规模大了以后的问题:网络的扩展性,降低路由器负载,实现路由的更快收敛 OSPF多区域的区域类型分为Area 0(骨干区域), 以及非Ar ...

  7. Dockerfile CMD命令提示no such file

    过程: 自制一个kafka镜像,启动时CMD命令报ERROR # 安装 kafka ADD kafka_2.12-2.4.1.tgz /home/pmish/software ENV KAFKA_HO ...

  8. PCA降维练习

    [题目] 1.现有我国大陆30个省.直辖市.自治区的经济发展状况数据集如表所示,包括8项经济指标:国民生产总值(A1):居民消费水平(A2):固定资产投资(A3):职工平均工资(A4):货物周转量(A ...

  9. Double NaN

    import java.math.BigDecimal; import java.math.RoundingMode; public class Test { public static void m ...

  10. Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist:...

    大家都知道Centos8于2021年年底停止了服务,大家再在使用yum源安装时候,出现下面错误"错误:Failed to download metadata for repo 'AppStr ...