web端百度离线地图3.0的制作使用

article/2025/11/7 4:28:57

花了一天的时间查了好多资料,终于地图可以在web端离线访问了。
参考博客:添加链接描述
主要是参考上面博主的文章做好的,非常感谢
这是我做的一个demo,可以直接用。有需要的朋友可以参考:
链接:https://pan.baidu.com/s/1uT5h0OI-142EZQeYHjwiKw
提取码:nd8q

总结一下离线开发的几点:

1.JS API文件下载

  • 访问http://api.map.baidu.com/api?v=3.0
    在这里插入图片描述
  • 访问上图链接http://api.map.baidu.com/getscript?v=3.0&ak=&services=&t=20200702151529
    在这里插入图片描述
    在这里插入图片描述
    将代码格式化复制,保存到本地上,就先保存在api_v3.0_min.js文件,我的是apiv1.3.min.js(这个自己命名就好)

2.修改保存到本地的api_v3.0_min.js文件

  • 屏蔽ak验证
    定位到这块代码,将3581行加上,if (/^http/.test(a)) return;
    屏蔽ak验证,若调用外部资源直接返回
    在这里插入图片描述
  • 拷贝js文件,作为自己的本地资源
    百度地图提供的各种图层类,标记类,控件类等等都可以看作是modules,当你在地图中用到这些模块时,它会自动加载,因此我们需要先把这些模块的js文件下载下来,保存到本地。定位到下面代码,没数错的话,一共是41个模块。
    在紧邻着的下边找到在这里插入图片描述
    这时候就可以创建modules文件夹,添加所需模块的js文件,注意命名格式,js代码可以这么获取:http://api0.map.bdimg.com/getmodules?v=3.0&mod=map_bmtnyt
    如果获取不到也可以是http://api0.map.bdimg.com/getmodules?v=2.0&mod=map_bmtnyt
    保存js文件时文件名也是这样:map_bmtnyt.js
  • 修改相关引用的路径
    为了便于修改主文件里的一些内容,先创建一个map_load.js文件
var bmapcfg = {'imgext': '.jpg',   //瓦片图的后缀  根据需要修改,一般是 .png .jpg'tiles_dir': 'maptile/',       //普通瓦片图的地址,为空默认在maptile/ 目录
};var scripts = document.getElementsByTagName("script");
var JS__FILE__ = scripts[scripts.length - 1].getAttribute("src");  //获得当前js文件路径
bmapcfg.home = JS__FILE__.substr(0, JS__FILE__.lastIndexOf("/") + 1); //地图API主目录
(function () {window.BMap_loadScriptTime = (new Date).getTime();//加载地图API主文件document.write('<script type="text/javascript" src="' + bmapcfg.home + 'apiv1.3.min.js"></script>');
})();
  • 修改地图api主目录——bmapcfg.home
    在apiv1.3.min.js文件中定位到 url.domain.main_domain_cdn.baidu[0] ,将其所在行注释掉,加上这行D.oa= bmapcfg.home; //修改成本地瓦片资源引用(离线路径)
    在这里插入图片描述
    这块参考自己的目录怎么安排 引对相对路径就OK了
  • 修改modules引用
    通过 &mod 进行定位,注释掉其所在行,做如下修改:
    在这里插入图片描述
    注释掉后加上:(pa和f.CK())对照起来
if( a.length > 0 ){for(i=0; i<a.length;i++){mf = '/map/modules/'+a[i]+'.js';pa( mf ); //该调用方法为 最开始加屏蔽ak验证 的那个方法,注意修改方法名是否更改}} else {f.CK();//注意看注释行 f调用的方法名}
  • 加载瓦片改为本地离线瓦片
    搜索normal,定位到下图。注释掉图中语句
    在这里插入图片描述

3.测试

写个html页面测试一下

<!DOCTYPE html>
<html>
<head><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>Hello, World</title><style type="text/css">#container{height:800px;width: 100%;}</style><script type="text/javascript" src="map_load.js"></script></head><body>
<div id="container"></div>
<script type="text/javascript">var map = new BMap.Map("container");                        // 创建Map实例var point = new BMap.Point(121.491, 31.233);  // 创建点坐标map.centerAndZoom(point, 8);                // 初始化地图,设置中心点坐标和地图级别map.setMinZoom(5);map.setMaxZoom(8);map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放map.addControl(new BMap.NavigationControl()); //缩放按钮map.addControl(new BMap.ScaleControl());//显示地图的比例关系
</script>
</body>
</html>

在这里插入图片描述


http://chatgpt.dhexx.cn/article/uTUooult.shtml

相关文章

java百度地图离线开发_【“零起点”--百度地图手机SDK】如何使用离线地图?

摘要:用户使用地图的时候,希望不联网就能展示地图。这时,就需要使用到离线地图了。如何在百度地图SDK里引入离线地图呢? ------------------------------------------------------------------------------------------------------------------- 相关阅读: -------------…

计算机主机中包,百度地图脱机包最终可以在计算机上导入

百度地图终于面世了. 下载后&#xff0c;试用后感觉不错. 我喜欢离线地图功能 但是我不知道下载的人是否太多. 下载离线地图包的速度太慢. 但是捏了&#xff0c;兄弟尝试了导入方法&#xff0c;但是行得通百度地图包离线包&#xff0c;哇哈哈哈 但是&#xff0c;这需要将iPhone…

如何下载百度地图离线包并导入OruxMaps查看

一、什么是OruxMaps OruxMaps是一款支持本地离线地图包的地图应用&#xff0c;适合户外旅行&#xff0c;同时也支持加载OpenStreetMap在线地图&#xff0c;可以导入OZI格式并转换制作成自己的地图&#xff0c;它还可以记录、保存导入航迹、航点并统计相关信息并提供校准功能。…

百度地图离线js+瓦片地图

前言 网上有许多的文章都有教程但是缺少了瓦片地图下载这个最重要的东西。&#xff08;这篇博客主要是分享一下如何下载瓦片地图&#xff09; BMapDown 偶然搜索到BMapDown 这个工具可以在线下载瓦片地图。 下载地址&#xff08;非常谢谢开发者&#xff09; 下载下来之后发现还…

echarts + 离线百度地图 + 散点图配置

最近在做一个国网的一个项目&#xff0c;需要实现一些散点图的标注等&#xff1b;而且需要在内网使用&#xff0c;感觉使用 echarts 就可以简单的实现无需加载类似 openlayers &#xff0c;leaflet 等 webgis 框架然后再发布地图服务实现。 实现思路 : 百度地图API文件创建本…

百度地图api离线开发(示例源代码)

相关教程&#xff1a; 1、如何搭建WEB离线地图开发环境 2、下载离线地图数据(金字塔瓦片数据&#xff09; 3、离线地图二次开发接口&#xff08;离线地图API&#xff09; 4、离线地图API接口实例DEMO 5、离线地图完整演示实例 说明&#xff1a; 1. 当前版本支持 谷歌电子/卫星…

百度地图离线版

[Java] 地图瓦片下载器&#xff0c;支持百度、高德、谷歌地图的瓦片下载&#xff0c;内置三大厂家的js离线api [复制链接] 地图瓦片下载器&#xff0c;支持百度地图、高德地图、谷歌地图瓦片下载&#xff1b;另有百度地图、高德地图、谷歌地图API离线版支持百度、高德、谷歌…

百度地图离线开发2.0

目录 项目运行环境 在html中所有的元素都是可以选中的,在地图中也可以的,选中时整个地图会出现蓝色的选中效果,要去除这种现象可以使用下面样式设置 设置地图显示的最大、最小级别 设置地图显示范围,超出范围后自动回弹 移动地图,地图将自动从一个地方到拎另一个地方 缩放…

Android 百度离线地图下载完后调用下载好的离线包

前言 最近公司项目需求添加百度地图离线下载后离线地图查看功能&#xff0c;本以为看着文档写一下就行了&#xff0c;看了文档后发现百度文档着实坑爹&#xff0c;文档与实际开发不符合&#xff0c;网上搜了一下&#xff0c;也没搜到切实有用的文章&#xff0c;遂决定写一篇&…

Android百度地图(四)如何引入离线地图包

Android百度地图&#xff08;四&#xff09;如何引入离线地图包 本文代码在http://blog.csdn.net/xyzz609/article/details/51955363的基础上进一步修改&#xff0c;有兴趣的同学可以研究下怎么修改的 本篇我们准备为地图添加&#xff1a;引入离线地图包 本文参考的是http:/…

如何下载百度地图离线包并导入OruxMaps

一、什么是OruxMaps OruxMaps是一款支持本地离线地图包的地图应用&#xff0c;适合户外旅行&#xff0c;同时也支持加载OpenStreetMap在线地图&#xff0c;可以导入OZI格式并转换制作成自己的地图&#xff0c;它还可以记录、保存导入航迹、航点并统计相关信息并提供校准功能。…

WinEdit如何修改字体大小

1、在help一栏的后面空白处&#xff0c;右键出现下图 2、点击Options Interface&#xff0c;出现下图&#xff1a; 3、点击Font&#xff0c;出现下图&#xff0c;在FontSize处修改 4、保存Font文件&#xff0c;右键选择Load Script。

WinEdit编辑器中中文乱码

这个问题困扰了我很久。我的电脑上装的CTEX的最新版本&#xff0c;原来我的系统是windows 7 64位系统。装好了CTEX之后&#xff0c;在里面可以直接输入中文&#xff0c;显示和编译生成的PDF文件都正常。但是后来系统崩溃了一次就装回了Windows XP SP3系统。这次装好CTEX之后&am…

WinEdit初使用

下载了CTex和各种文档&#xff0c;还是没搞懂怎么用。大部分文献都是讲解语法&#xff0c;对于我这个菜鸟来说&#xff0c;简单的hello world 都编不出来&#xff0c;对语法就更看不下去了&#xff0c;终于在百度和摸索中得到了hello world。 1、新建一个文档&#xff0c;大家…

解决 winedit 打开tex文件 reading error(亲测可行)

从网上下载的论文模板&#xff0c;发现直接双击打开.tex文件&#xff08;默认关联用winedit打开&#xff09;时会出现reading error&#xff0c;然后看不到任何文字&#xff08;网上有人讨论打开是乱码的问题&#xff0c;但是我的是完全看不到任何东西&#xff09;&#xff0c;…

Winedit修改快捷键

工欲善其事必先利其器&#xff0c;疫情期间只能在家办公&#xff0c;一个小小笔记本没有两个大屏幕来的舒服&#xff0c;因此为了最大化利用屏幕大小&#xff0c;将所有的界面全部隐藏。但是每次编译的时候&#xff0c;我习惯用pdflatex选项&#xff0c;但是wineidt没有设定其快…

winedt103系统找不到指定文件_latex排版(CTeX winEdit输出“系统找不到指定的文件”的终极解决办法)...

这个问题好像经常出现在Win7系统下。winEdit输出“系统找不到指定的文件”&#xff0c;这里“指定的文件”是“TeXify.exe”等需要运行的程序&#xff0c;而不是当前需要编译的“.tex”文件。所以&#xff0c;问题的本质就是系统找不到“TeXify.exe”等可执行文件&#xff0c;解…

winedit 永久试用的办法

软件把安装信息放在注册表里面这种做法真是方便了我等草民啊。 打开CMD。 运行下面的命令。 reg delete "HKEY_CURRENT_USER\Software\WinEdt 7" /v "Install Build" /f reg delete "HKEY_CURRENT_USER\Software\WinEdt 7" /v "Install Roo…

如何粘贴winedit编辑器console中的错误文本信息

补充一个小技巧 如何粘贴winedit便捷器console中的错误文本信息&#xff0c;如下图所示&#xff0c;是报错的信息&#xff0c; 我们点击如下图所示的复制按钮 然后打开记事本粘贴即可 然后使用ctrlf键搜索错误的前两个单词&#xff08;或者一个&#xff09;之后就可以复制错误信…

WinEdit 的algorithm2e包自定义一个带竖线的模块代码

WinEdit 的algorithm2e包自定义一个带竖线的模块 代码 \documentclass{ctexart} \usepackage[linesnumbered,ruled,vlined]{algorithm2e} \begin{document} \begin{algorithm} \caption{The pseudocode of solution procedures} \label{Algo:SoluStep} \KwIn{all data involv…