百度离线地图(包含轨迹回放)

news2024/10/7 10:18:11

先来个效果图(demo没那么仔细)

 现在下载资源包文件放至static文件内

如果需要新的瓦片则添加至static/tiles(我用的是png也可以是jpg)

 在此处修改即可

但是,最好还是放在服务器内,因为瓦片很多,项目是无法运行的,真实项目上瓦片量越大效果越好

这些东西配置好以后就剩下使用了(一个类解决战斗)

<template>
  <div id="MapBox">
    <button @click="addFn">添加轨迹</button>
    <div id="mapShow"> </div>
  </div>
</template>
<script>
  export default {
    name: 'baiduMap',
    data() {
      return {
        points: [
          { lng: 117.815, lat: 39.005 },
          { lng: 117.75, lat: 39.051 },
          { lng: 117.806, lat: 39.011 },
        ],
        center: { lng: 117.815, lat: 39.005 },
        zoom: 5,
        showLocalMap: true,
        map: undefined,
        overView: undefined,
        marker: undefined,
        BMap: undefined,
        iconPath: require('../../assets/marker_red_hd.png'),
        colle: [],
      }
    },
    methods: {
      baiduMap() {
        console.log(11111111111)
        this.BMap = BMap
        // 创建地图实例
        this.map = new BMap.Map('mapShow')
        // 创建点坐标
        let point = new BMap.Point(this.center.lng, this.center.lat)
        var myIcon = new BMap.Icon(this.iconPath, new BMap.Size(52, 26))
        // 创建Marker标注,使用小车图标
        var pt = new BMap.Point(116.417, 39.909)
        var marker = new BMap.Marker(pt, {
          icon: myIcon,
        })

        // marker.setAnimation(BMAP_ANIMATION_BOUNCE)
        this.colle.push(marker)
        this.map.addOverlay(marker)
        //缩略地图控件。
        this.overView = new BMap.OverviewMapControl({ isOpen: true })
        //添加控件
        this.map.addControl(this.overView)

        // 初始化地图,设置中心点坐标和地图级别
        this.map.centerAndZoom(point, this.zoom)

        //开启鼠标滚轮缩放
        this.map.enableScrollWheelZoom(true)
      },
      addFn() {
        const points = [
          new BMap.Point(123.404, 41.615),
          new BMap.Point(123.415, 41.915),
          new BMap.Point(123.425, 41.705),
          new BMap.Point(123.435, 41.805),
          new BMap.Point(123.445, 41.515)
        ];
        var myIcon = new BMap.Icon(this.iconPath, new BMap.Size(52, 26))
        // 创建Marker标注,使用小车图标
        // var pt = new BMap.Point(123.447111, 41.735111)
        for (const i in points) {
          var marker = new BMap.Marker(points[i], {
            icon: myIcon,
          })
          this.map.addOverlay(marker)
        }
        const polyline = new BMap.Polyline(points, { strokeColor: "blue", strokeWeight: 3, strokeOpacity: 0.5 });
        this.map.addOverlay(polyline);
        // marker.setAnimation(BMAP_ANIMATION_BOUNCE)
      },
      cleanFn() {
        this.map.clearOverlays()
        var myIcon = new BMap.Icon(this.iconPath, new BMap.Size(52, 26))
        // 创建Marker标注,使用小车图标
        var pt = new BMap.Point(41.701, 123.447)
        var marker = new BMap.Marker(pt, {
          icon: myIcon,
        })
        var content = 'label'
        var label = new BMap.Label(content, {
          // 创建文本标注
          position: pt, // 设置标注的地理位置
          offset: new BMap.Size(1, 2), // 设置标注的偏移量
        })
        this.map.addOverlay(label)
        this.map.addOverlay(marker)
        marker.setAnimation(BMAP_ANIMATION_BOUNCE)


      },
      handler({ BMap, map }) {
        this.points = [
          { lng: 117.815, lat: 39.005 },
          { lng: 117.75, lat: 39.051 },
          { lng: 117.806, lat: 39.011 },
        ]
        this.center.lng = 117.815315
        this.center.lat = 39.005182
        this.zoom = 16
      },
    },
    mounted() {
      //   this.handler()
      this.baiduMap()
    },
  }
</script>
<style>
  .text {
    background-color: rgb(89, 233, 144);
  }

  #mapShow {
    width: 100vw;
    height: 100vh;
    padding: 10px;
    position: relative;
  }

  /* 地图 */
  .baiduMap {
    height: 80%;
    width: 100%;
  }

  /* 去除地图上,左下字体标注 */
  .anchorBL {
    display: none;
  }

  .info {
    z-index: 999;
    width: auto;
    min-width: 22rem;
    padding: 0.75rem 1.25rem;
    margin-left: 1.25rem;
    position: fixed;
    top: 1rem;
    background-color: rgba(265, 265, 265, 0.9);
    border-radius: 0.25rem;
    font-size: 14px;
    color: #666;
    box-shadow: 0 2px 6px 0 rgba(27, 142, 236, 0.3);
  }

  #zoominput {
    height: 24px;
    width: 80px;
    padding-left: 8px;
  }

  #change-btn {
    height: 30px;
    background: #5679ea;
    border: 0;
    padding: 0 10px 0 10px;
    margin: 10px 8px 0 0;
    cursor: pointer;
    border-radius: 2px;
    color: #fff;
    font-size: 14px;
  }
</style>

我使用的bmap初始化

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/831071.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

FTP Cadence中心库的创建与配置 (中)

在上节介绍的ftp服务器根目录下 一、创建一个文件夹 Cadence_lib&#xff0c;并把其设置为 共享。 共享给用户hw 和用户layout&#xff0c;并设置对应权限。 点击“共享”按钮。 二、在Cadence_lib文件夹下&#xff0c;添加如下文件夹&#xff0c;及文件。 其中 “00DataShee…

Vue-函数式组件

最近在开发项目的时候&#xff0c;定制了一个公司内部样式的Modal模态框组件。 Modal组件伪代码 <!-- Modal/index.vue--> <template><div class"modal-container" id"modalContainer"><!-- Modal Content --><div class&quo…

MySQL的索引使用的数据结构,事务知识

一、索引的数据结构&#x1f338; 索引的数据结构&#xff08;非常重要&#xff09; mysql的索引的数据结构&#xff0c;并非定式&#xff01;&#xff01;&#xff01;取决于MySQL使用哪个存储引擎 数据库这块组织数据使用的数据结构是在硬盘上的。我们平时写的代码是存在内存…

编译原理陈火旺第三版第九章课后题答案

下面的答案仅供参考&#xff01; 1. 有哪些存储分配策略&#xff1f;并叙述何时用何种存储分配策略&#xff1f; 答&#xff1a;存储分配策略分为静态分配策略和动态分配策略两大类,而动态分配策略又可分为栈式动态分配策略和堆式动态分配策略两类。 在一个的具体的编译…

软件测试需求分析的常用方法

软件测试需求分析时&#xff0c;应要求产品人员对需求进行讲解&#xff0c;并使用相对应的方法进行科学分析&#xff0c;否则无法保障软件测试的完整性和科学性&#xff0c;从而造成在项目中后期Bug频出、风险增大等问题。 而常用的测试需求分析的方法&#xff1a; 1、功能分解…

腾讯云MSS多项能力获IDC五星评价,综合实力位列第一

近日&#xff0c;IDC发布了《IDC Technology Assessement: 中国公有云托管安全服务能力&#xff0c;2023》报告&#xff08;以下简称“报告”&#xff09;。腾讯云安全托管服务MSS凭借多年的技术积累和出色的服务能力&#xff0c;在报告的专家能力、漏洞及威胁检测、事件分析、…

二叉搜索树(BST)的模拟实现

序言&#xff1a; 构造一棵二叉排序树的目的并不是为了排序&#xff0c;而是为了提高查找效率、插入和删除关键字的速度&#xff0c;同时二叉搜索树的这种非线性结构也有利于插入和删除的实现。 目录 &#xff08;一&#xff09;BST的定义 &#xff08;二&#xff09;二叉搜…

刘汝佳の树状数组详解

引入 二叉索引树&#xff0c;也叫树状数组是一种便于数组单点修改和区间求和的数据结构 主要根据下标的lowbit值来建树 至于lowbit(x)&#xff0c;则是(x)&(-(x))&#xff0c;也就是一个二进制数从右边数第一个1代表的数 #define lowbit(x) ((x)&(-(x)))基础树状数组…

GF(2)上矩阵秩的快速计算

https://github.com/mhostetter/galois/issues

uniapp发布插件显示components/xxx文件没找到,插件格式不正确

uniapp发布插件显示components/xxx文件没找到&#xff0c;插件格式不正确 将插件文件这样一起选中&#xff0c;然后右键压缩成zip文件&#xff0c;而不是外层文件压缩

亚马逊、美客多卖家如何运营,养号技巧和硬件要求有哪些?

流量等于销量、等于利润&#xff0c;没有流量&#xff0c;一切都是白搭&#xff0c; 流量是一切销量的前提&#xff0c;我们平时做的优化、推广也是为了引入流量。所有亚马逊卖家都在围着一个目标而努力&#xff0c;那就是流量。那么亚马逊新卖家该如何引流呢? 我们需要从以下…

无涯教程-Perl - 条件判断

以下是在大多数编程语言中找到的典型判断结构的概述- Perl编程语言提供以下类型的条件语句。 Sr.No.Statement & 描述1 if statement if语句由布尔表达式和一个或多个语句组成。 2 if...else statement在 if语句之后可以是可选的 else语句。 3 if...elsif...else statemen…

如何将镜像体积海量缩减

点击上方蓝色字体&#xff0c;选择“设为星标” 回复”云原生“获取基础架构实践 镜像的传统构建 我们随便找个Golang代码项目作为案例&#xff0c;来开始构建一个镜像。下面我们以我的一个实战项目开始讲解&#xff1a;https://gitee.com/damon_one/uranus。 第一步&#xff1…

uC-OS2 V2.93 STM32L476 移植:系统移植篇

前言 上一篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG STM32L476RG 的 裸机工程&#xff0c;并且下载了 uC-OS2 V2.93 的源码&#xff0c;接下来&#xff0c;开始系统移植 开发环境 win10 64位 Keil uVision5&#xff0c;MDK V5.36 uC-OS2 V2.93 开发板&#xff1a;NUC…

机器学习深度学习——从全连接层到卷积

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——非NVIDIA显卡怎么做深度学习&#xff08;坑点排查&#xff09; &#x1f4da;订阅专栏&#xff1a;机器…

D. Different Arrays

Problem - 1783D - Codeforces 思路&#xff1a; 这是一个计数问题&#xff0c;我们要统计不同数组的个数&#xff0c;可以用dp&#xff0c;让f[i][j]表示只考虑前i个&#xff0c;并且结尾为j的情况&#xff0c;那么转移方程为我们枚举i&#xff0c;与枚举前一个是多少&#xf…

电脑安装新系统不知道去哪里下载,看我就够了

大家在日常生活中肯定都会遇到电脑安装系统的需求&#xff0c;如果去微软官方购买正版的系统又很贵&#xff0c;又不太想花这个冤枉钱&#xff0c;这个时候我们就不得不去网上查找一些免费好用的系统&#xff0c;可是百度一下&#xff0c;或者Google一下&#xff0c;各种下载系…

【css】css设置表格样式-边框线合并

<style> table, td, th {border: 1px solid black;//设置边框线 }table {width: 100%; }td {text-align: center;//设置文本居中 } </style> </head> <body><table><tr><th>Firstname</th><th>Lastname</th><t…

【uniapp】样式合集

1、修改uni-data-checkbox多选框的样式为单选框的样式 我原先是用的单选&#xff0c;但是单选并不支持选中后&#xff0c;再次点击取消选中&#xff1b;所以我改成了多选&#xff0c;然后改变多选样式&#xff0c;让他看起来像单选 在所在使用的页面上修改样式即可 <uni-d…

1-搭建一个最简单的验证平台UVM,已用Questasim实现波形!

UVM-搭建一个最简单的验证平台&#xff0c;已用Questasim实现波形 1&#xff0c;背景知识2&#xff0c;".sv"文件搭建的UVM验证平台&#xff0c;包括代码块分享3&#xff0c;Questasim仿真输出&#xff08;1&#xff09;compile all&#xff0c;成功&#xff01;&…