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. mysql 导入问题排查

    ERR] 2006 - MySQL server has gone away -- 查询最大数 show global variables like 'max_allowed_packet'; -- ...

  2. debian11 配置samba服务 linuxsys

    一.安装软件包 sudo apt -y install samba samba-common 二.linux系统添加samba需要用的账户,创建需要共享的文件夹,并配置好权限.(注意共享文件夹最好不要 ...

  3. 操作系统实战45讲笔记- 05 CPU工作模式:程序执行的三种模式

    实模式 实模式又称实地址模式,实,即真实,这个真实分为两个方面,一个方面是运行真实的指令,对指令的动作不作区分,直接执行指令的真实功能,另一方面是发往内存的地址是真实的,对任何地址不加限制地发往内存. ...

  4. pytest设计项目结构

    api目录封装所有的接口 testcases目录写所有的测试用例.conftest全局登录前置操作 data目录测试数据 common或者utils目录.存放公共模块比如读取yml文件.连接数据库.所 ...

  5. ssl自动更新证书

    安装证书 yum install certbot 更新证书之前先开启80 443 端口 自动生成证书certbot certonly --standalone --agree-tos -n -d ww ...

  6. 使用虚拟环境-Python虚拟环境的安装和配置-virtualenv

    打开windows命令终端(cmd)安装虚拟环境 virtualenv(如果你执行了上面查看python版本的语句,那么要先使用exit()方法先退出) pip3 install virtualenv ...

  7. Linux 常用监控指标总结

    1. Linux运维基础采集项 做运维,不怕出问题,怕的是出了问题,抓不到现场,两眼摸黑.所以,依靠强大的监控系统,收集尽可能多的指标,意义重大.但哪些指标才是有意义的呢,本着从实践中来的思想,各位工 ...

  8. maven加载本地的jar包

    方式1 ,通过scope = system的方式加载 <dependency> <groupId>com.sun.jna</groupId> <artifac ...

  9. 一个新App上线应该注意什么?

    一个新App上线应该关注哪些地方: 功能使用上无大问题遗留 用户使用体验尚佳 (前两条属于普通app更新也需要关注的点) 用户需要有反馈的入口,比如app内的反馈.用户可以直接联系到对应负责人进行反馈 ...

  10. 解决Ubuntu下的的“system program problem detected”问题

    解决Ubuntu下的的"system program problem detected"问题 1.删除crash文件 sudo rm /var/crash/*2.关闭pop up功 ...