关键词:高德地图、离线部署、内网部署、地图瓦片

目录

鸣谢

写在前面

声明

进入主题

如何使用

写在最后


鸣谢

注意:经测试与反馈,该离线包目前无法运行至 统信UOS 和 麒麟 操作系统,正在想办法解决

2023.12.06

uos和麒麟的内网加载包由CSDN的另一个开发者弄出来了,后续我整合下发出来,最近太忙了

2024.04.09

感谢大佬ZhongruiRao提供的方案,基于此方案写了一个插件集成教程,供大家参考​ 网页链接

鸣谢:@ZhongruiRao

写在前面

近期在项目中需要用到地图,于是我选择了较为大众的高德地图,在所有的功能实现后,得到通知需要在内网进行运行,我断网测试后发现并不能离开网络。官方的插件中发送了部分网络请求,所以导致无法在内网运行(白屏)的情况,于是我通过高德在线的JS API引入外链的方式保存了相关源代码并做了修改,使其所有的网络请求均变为本地请求。

如何使用高德地图请参考官方文档:快速上手-地图 JS API 2.0 | 高德地图API

【我这里用的是高德2.0JS API,所以请查看2.0文档】

声明

  • 本离线包基于高德地图js-api2.0,在此基础进行修改。
  • 本项目仅为个人兴趣开发,不收费,作者也不提供任何付费服务。
  • 本项目仅供个人学习研究使用。
  • 本项目禁止商用,禁止在企业项目开发中使用此地图离线包,禁止使用此离线包以及基于此项目二次开发的软件从事盈利活动。

进入主题

高德离线包我已经存至Gitee(自行下载即可):高德地图离线解决方案: 高德地图离线解决方案

加载地图瓦片(如何下载,如何加载在代码)请参考我的下一篇文章:高德地图内网加载地图瓦片、如何下载地图瓦片资源-CSDN博客

离线路径规划可参考我的另一篇文章:Java SpringBoot项目 + GraphHopper 实现地图离线路径规划-CSDN博客

如何使用

1.将下载的离线包放到项目的public下

2.在index.html中直接加载下载的amap文件夹下的AMap3.js,其余文件不可删除!!!如下图:

37e3b40066234767a122a002fb849315.png

3.在代码中直接new AMap即可,vue项目的话不需要再去导入map插件配置key(因为扒取这个源代码时已经利用了我申请的key),如下图直接使用即可。

引入后提示AMap不存在的,重新运行项目即可

bc665b376c20488bbe597c68e54d867c.png

代码如下

let map = new AMap.Map('map-container', { // 设置地图容器id
    resizeEnable: true,
    zoom: 12,
    resizeEnable: true,
    rotateEnable: true,
    pitchEnable: true,
    center: [94.89, 36.42],
    defaultCursor: 'pointer',
    showLabel: true,  //是否显示文字标注
})

我修改的这个离线包可直接使用 绘点,绘线,动态轨迹,坐标选取 ,地图框选等基本插件,无需再做其他修改

9a8f258c8da346ab88ce040ce9097a81.png73b8496b618f43bab6dd3bc08f533c02.png

211892460bda4cec933b4f1912e0b00f.png

注意:这个离线包没有实际测试包含了哪些插件,现在大家开发后需要断网测试一下看看哪些插件不能用,尽可能的替换掉,以免上了生产环境出现问题

目前已知反馈频率较高的是:AMap.ScaleAMap.ToolBarAMap.MarkerClusteAMap.PolyEditorAMap.MarkerCluster 这些插件不能使用,目前太忙,等有空了我把这些插件测试一下,如果不需要联网我再打进去

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐