vue-内网,离线使用百度地图(地图瓦片图下载静态资源展示定位)

news2025/1/24 8:20:38

前言

  • 最近发现很多小伙伴都在问内网怎么使用百度地图,或者是断网情况下能使用百度地图吗

  • 后面经过一番研究,主要难点是,正常情况下我们是访问公网百度图片,数据,才能使用

  • 内网时访问不了百度地图资源时就会使用不了,如果我们能把我们需要数据下载到本地,自己访问自己,那这个问题就可以解决

  • 我们可以使用地图下载器下载我们需要的瓦片图数据,使用serve运行起来,这样内网和断网就可以使用了

  • 遗憾的是只能基本展示,定位。不能使用百度地图api-类,因为百度地图类和api都是通过http请求来实现的

资源

项目地址:Baidu-Intranet: 内网环境使用百度地图-用例-注意事项
地图资源下载器:项目文件utils/map-resource/压缩包-使用下面会讲
项目瓦片图数据:还在审核
建议:先不要着急改代码-按照步骤把项目先运行起来看一下

具体实现

1.public/static-文件:相当于百度地图压缩之后静态文件-迁移时候可以直接复制过去

  • images:地图中图标,例如:树、建筑物等

  • modules: 所需要的js模块

  • bmap_offline_api_v3.0.min.js: 创建地图,包含各种地图上操作的api等

  • m4.png: 聚合图标,上图中的紫色图

  • map_load.js: 初始化一些全局变量,包括文件路径,瓦片图加载路径,动态加载bmap_offline_api_v3.0.min.js文件等

  • MarkerClusterer_min.js: 实现点聚合

  • TextIconOverlay_min.js: 点聚合相关

2.public/index.html-就是项目最终组装文件-需要引入上面的3个包文件-不然windows.BMap会报错-迁移时候可以直接复制过去

3.使用项目文件utils/map-resource/压缩包-进行地图瓦片图下载

1.直接解压压缩包即可,打开解压文件夹点击imaps.exe打开程序,软件就会打开,并且早C盘创建一个默认 MapDownload文件夹

2.刚进去如果发现点击左边城市图,右边地图没显示。可能是因为默认选择的是谷歌地图加载不出来,选择左上角-地图-选择自己需要地图

3.根据下面步骤下载地图

4.使用npm全局下载serve运行这些地图资源

1.可以在我csdn资源通过后下载,也可以自己按照步骤直接下载福建省(11-15级)数据也行

2.下载完数据之后,win+r-打开cmd-npm全局安装serve

npm install -g serve

3.来到下载好的baidumaps文件夹-上面打开cmd窗口运行命令-serve-看到端口号-运行成功

5.断开台式机网络开始测试

1.以台式机为例此时断开网络,自己就是一个内网,并且自己只能访问自己,所以所有地址尽量写127.0.0.1和localhost

2.应为比如192.168.2.xx-这是路由器下发给你的局域网ip,断开网络就用不了切记-很重要

6.此时在浏览器运行项目查看效果

1.此时一样,断网之后,在浏览器输入地址127.0.0.1或者localhost

2.如果此时发现地图正常显示,点击地图中心点和标注正常切换,就说明内网使用百度地图成功了

3.如果发现什么都没有打开控制台发现图片404,检查代码,地图层级,下面有讲解

6.1仔细观察控制台我们会发现,除了图片加载以外,当我们使用鼠标滚轮缩放时,会给百度地图发送请求。并且逆地址解析,不打印解析不了位置信息

1.这个滚轮向百度地图发送请求报错,不影响使用

2.逆地址解析用不了,我们可以理解为我们只是把基础地图瓦片图和经纬度数据下载到本地,所以基本功能使用展示没问题,但api,类,逆地址解析-是需要发送http请求去问百度服务器资源调用回来的数据,自然是用不了

6.3验证这个问题

1.第五步-恢复电脑联网,把第二步截图的代码注释开(注意填入自己AK),刷新项目

2.此时我们会发现滚轮发送接口不报错了,鼠标点击地图,发送http请求,逆地址解析数据也打印了

3.毕竟我们是在内网情况或者离线情况下使用,要使用别人的东西,就要别人提供好按照规则使用(目前还没有好的解决办法)


优缺点-须知

1.内网离线情况下我们访问不了百度数据资源,所有只有把数据资源下载在本地启动服务才可以解决这个问题

2.确实可以满足基本的需求

3.地图放大,缩小,控件,定位

4.加载那里的地图我们首先要下载地图瓦片图,然后地图中心点定位在哪里就会加载的地图

5.地图的放大等级我们要控制起来,因为是下载的瓦片图要对应

6.瓦片图下载等级最好下载,11-15,刚好铺满全屏,再多就下载很慢

7.开发时候我们用npm下载serve,把地图资源从本机运行起来(直接serve)

8.所有地址最好写127.0.0.1和localhost方便测试(因为你后续直接断开网线测试时候,你就只能访问自己)

瓦片图加载报错-404解决

1.瓦片图,就是把一个地图区域根据放大等级分割成等额大小图片进行加载

1.首先确定地图中心点经纬度和下载地图瓦片图是否是一致的

2.瓦片图下载等级和代码地图限制放大等级是否一样(比如地图放大19级,但是下载地图没有19级图片也会报错)

3.用serve启动好本地图片资源后-查看map_load.js文件(一般默认不用改)

4..把404图片路径复制到本机浏览器看是否能访问

优点

1.引入项目比较轻便-确实在内网情况下可以使用(不能访问外网情况下-离线)

缺点

1.鼠标滚动的时候,会调用百度的api报错,但不影响使用

2.百度api会失效,比如逆地址解析,没有建立百度资源连接带身份(就是没有在public/index-正常引入百度地图)

3.如果单纯地图展示看,定位-可以,要使用api不满足-目前还没找到解决方案


总结:

经过这一趟流程下来相信你也对 vue-内网,离线使用百度地图(地图瓦片图下载静态资源展示定位) 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!

有什么不足的地方请大家指出谢谢 -- 風过无痕

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

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

相关文章

CVE-2023-49898 Apache incubator-streampark 远程命令执行漏洞

项目介绍 Apache Flink 和 Apache Spark 被广泛用作下一代大数据流计算引擎。基于大量优秀经验结合最佳实践,我们将任务部署和运行时参数提取到配置文件中。这样,带有开箱即用连接器的易于使用的 RuntimeContext 将带来更轻松、更高效的任务开发体验。它…

RIPV1配置实验

查看路由器路由表: 删除手工配置的静态路由项: Route1->Config->static Remove删除路由项 删除Route3的路由项,方法同上删除Route2的路由项,方法同上 完成路由器RIP配置: Route1->Config->RIP->Ne…

C语言之字符串

目录 字符串字面量 ​编辑 字符串字面量的长度 ◆具有静态生命周期 ◆对于同一个字符串字面量的处理方式依赖于编译器 字符串 字符数组的初始化赋值 空字符串 字符串的读取 在前面的学习中就会发现,仅仅能用一个字符表示的事物少之又少,对于地…

基于Spring自动注入快速实现策略模式+工厂模式优化过多的if..else

一、策略模式 1.1策略模式定义 在策略模式(Strategy Pattern)中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式定义了一系列算法或策略,并将每个算法封装在独立的类中,使得它们可以互相…

python画图【03】泰坦尼克号数据分析

导包 import numpy as np import pandas as pdimport matplotlib import matplotlib.pyplot as plt %matplotlib inlineplt.rcParams[font.sans-serif] "Microsoft YaHei"import seaborn as sns加载数据集 titanic sns.load_dataset("titanic")titanic…

pip 常用指令 pip cache 命令用法介绍

📑pip 常用命令归类整理 pip cache 是一个用于管理pip缓存的命令。pip是Python的包管理器,用于安装和管理Python包。当你使用pip安装一个包时,pip会首先在其缓存中查找该包。如果在缓存中找到,pip将从缓存中安装该包,…

HarmonyOS布局之scroll

对于Scroll 布局官方讲解非常好,我在这做个总结,主要结合实际应用进行补充 Scroll — 首先他是一个容器布局,所有的容器布局都可包含子布局,因此scroll 布局也可包含子组件但是(他只能包含一个子组件)&…

wordpress主题modown v8.81+erphpdown v16.0无限制无授权开心版

修复bug(v8.81 2023.03.07) 新增文章页正文下面常见问题手风琴模块,可设置显示文章的更新日期而不是发布日期,首页幻灯片支持指定文章、支持一个大图4个小图显示,grid网格列表支持显示简介,前台个人中心里显…

Odoo16 实用功能之在Tree视图的记录中加入按钮

Tree视图中添加按钮&#xff0c;通常使用<button>标签 只能有一列来显示这些按钮 代码示例&#xff1a; <tree><field name"name" /><button name"test001" class"text-warning" type"object" string"Resc…

NHANES数据库周报(12.6)

郑老师统计课程&#xff0c;欢迎点击报名&#xff1a;Nhanes公共数据库挖掘 课程 美国国家健康和营养检查调查&#xff08;NHANES&#xff09;是一项旨在评估美国成人和儿童健康和营养状况的研究计划。该调查的独特之处在于它结合了访谈和体格检查。由美国疾病控制和预防中心&a…

Java日志框架Logback

logback.xml文件配置(放在src下微服务建议放在resources下) <?xml version"1.0" encoding"UTF-8"?> <configuration><!--定义日志文件的存储地址,使用绝对路径--><property name"LOG_HOME" value"d:/logs"/>…

【Linux笔记】系统信息

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;Linux学习 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 命令 1. uname - 显示系统信息 2. hostname - 显示或设置系统主机名 3. top - 显示系统资源使用情况 4. df - 显示磁盘空间使用情…

eclipse中基于maven构建的web项目pom.xml中指定的jar包无法发布到tomcat中

eclipse运行maven web项目报错&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 信息: Star…

EDA实验-----直流电机驱动设计(Quartus II )

目录 一、实验目的 二、实验仪器设备 三、实验的重点和难点 四、实验原理 五、实验步骤 六、实验报告 七、实验过程 1.分频器代码 2.方向选择器 3.直流电动机工作原理 4.电路连接图 5.文件烧录 一、实验目的 了解直流电机控制的工作原理和实现的方法。掌握PWM波控…

农学小作业(根据降雨量计算排灌水量)(旱地版)

//------------------------------------------------------------------------------------------------------------------- //农学小作业(根据降雨量计算排灌水量)(旱地版) //01.参考书目:ISBN-7-80734-087-8.ISBN-7-80124-644-6. //01.农作物生长发育阶段需要消耗水份. //0…

Deepin更换仿Mac主题

上一篇博客说了要写一篇deepin系统的美化教程 先看效果图&#xff1a; 准备工作&#xff1a; 1.你自己 嘻嘻嘻 2.能上网的deepin15.11电脑 首先去下载主题 本次需要系统美化3部分&#xff1a;1.图标 2.光标 3.壁纸 开始之前&#xff0c;请先把你的窗口特效打开&#xff0c;…

【MVT_1703230471】基于Python NLTK分词、词云、LDA主题分类及GPT情感分类

【Talk is cheap】 1 数据探索 case idcase outcome case title case text 0 Case1 cited Alpine Hardwood (Aust) Pty Ltd v Hardys Pty Lt... Ordinarily that discretion will be exercised s... 1 Case2 cited Black v Lipovac [1998] FCA 699 ; (1998) 217 AL... The gen…

Epson爱普生手臂机器人与PC通讯 C#

一、Epson手臂配置 1.安装Epson手臂控制软件 安装Epson手臂控制软体EPSON RC+ 7.0(根据实际需求下载应用),可以去官网下载安装。 2.硬件配置 准备一台PC,用网线连接PC和EPSON手臂控制器。 3.在PC上修改IP地址 EPSON手臂默认IP(192.168.0.1),PC IP改为手臂同一网段…

歌曲春节回家:荆涛歌声中的深情与诗人的心声

歌曲春节回家&#xff1a;荆涛歌声中的深情与诗人的心声 在寒冬的寂静中&#xff0c;荆涛的歌声如同春风拂面&#xff0c;温暖而深情。它唤起了我们对家的思念&#xff0c;让我们感受到家的温暖和亲情的珍贵。而在歌声中&#xff0c;我们仿佛听到了那些描绘春节的经典诗句&…

pycharm修改项目文件夹名称

目录 1 修改项目文件夹名称 2 修改代码中的项目名称 1 修改项目文件夹名称 选中项目文件夹&#xff0c;右键&#xff0c;选择refactor-rename。 选择rename project&#xff1a; 然后输入新的项目名称。 此时进入资源管理器&#xff0c;修改项目文件夹的名字&#xff0c;完成…