前言介绍:

主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末有个人微信二维码,有不完善的地方,可加微信一起探讨交流,实现的功能点概要如下:

地图示例:

地图展示
同时加载两个地图
设置地图最大及最
小级别移动地图
缩放地图
拖拽地图
设置地图显示范围
获取地图显示范围
测距

地图控件:

工具条、比例尺控件 地图类型
缩略图控件
添加版权控件
添加自定义控件

覆盖物示例:

添加/删除覆盖物
折线上添加方向箭头
添加动画标注点
设置点的新图标
设置点是否可拖拽 设置线、面可编辑
设置覆盖物的显示与隐藏
文本标注
带文字标签的覆盖物
获取覆盖物的信息
添加多个标注点
从多个点删除指定点
加载闪烁点
加载海量点 添加弧线
画椭圆
添加自定义覆盖物
点聚合
添加/删除地面叠加层
热力图功能示例
矢量图
添加自定义控件

信息窗口示例:

纯文本的信息窗口
添加复杂内容的信息窗口
给多个点添加信息窗口
获取信息窗口的信息

右键菜单示例:

给地图添加右键菜单
给覆盖物添加右键菜单

鼠标操作示例

设置地图默认的鼠标样式
鼠标滚轮缩放地图
鼠标拖拽地图
鼠标测距
单击获取点击的经纬度
鼠标绘制工具

添加层示例:

添加清华校园微观图
自定义网格

事件示例

图块加载完毕
地图单击事件
给覆盖物注册事件
传递事件参数
为多个点注册单击事件
注销事件

除了离线了官方API外,还对一些操作工具类进行了离线(总计11个工具),比如:

Heatmap

作用:热力图

SearchInfoWindow

作用:百度地图样式”的信息窗口工具。该工具为用户提供带搜索框的信息窗口,该窗口内容可自由定制多种风格。同时,用户可以将信息窗口标题以短信方式发送到手机上。

MarkerClusterer

作用:多标注聚合器。此工具解决加载大量点要素到地图上造成缓慢,且产生覆盖现象的问题。

RectangleZoom

作用:区域缩放工具。此工具将根据用户拖拽绘制的矩形区域大小对地图进行放大或缩小操作。

TextIconOverlay

作用:自定义覆盖物工具。用户可以使用该工具在地图上添加文字和图标样式的覆盖物。

LuShu

作用:路书,轨迹运动工具。此工具用以实现marker沿路线运动,并有暂停等功能。

GeoUtils

作用:几何运算工具。此工具提供判断点与矩形、 圆形、多边形线、多边形面的关系,并提供计算折线长度和多边形的面积的公式。

DistanceTool

作用:测距。

DrawingManager

作用:矢量图绘制。

代码示例实现:

1、百度地图离线API下载地址
2、百度地图离线工具类集合下载地址

html引用示例代码如下:

可以看出全部是离线引用,当然哪些工具类可以在组件内用的时候再引用也可以

<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1.0"><link rel="icon" href="<%= BASE_URL %>favicon.ico"><title>百度离线地图</title><!-- 百度地图3.0 API Begin --><script src="static/offlineMapLib/js/jquery-3.3.1.min.js"></script><script type="text/javascript" src="static/offlineMapLib/map3.0_init.js"></script><script type="text/javascript" src="static/offlineMapLib/map3.0.js"></script><script type="text/javascript" src="static/offlineMapLib/layer.js"></script><script type="text/javascript" src="static/offlineMapLib/demo.js"></script><!-- 热力图 --><script type="text/javascript" src="static/offlineMapLib/library/Heatmap_min.js"></script><!-- 画弧线 --><script type="text/javascript" src="static/offlineMapLib/library/CurveLine.min.js"></script><!-- 点聚合 --><script type="text/javascript" src="static/offlineMapLib/library/TextIconOverlay_min.js"></script><script type="text/javascript" src="static/offlineMapLib/library/MarkerClusterer_min.js"></script><!-- 测距 --><script type="text/javascript" src="static/offlineMapLib/library/DistanceTool_min.js"></script><!-- 鼠标绘制 --><link rel="stylesheet" href="static/offlineMapLib/library/DrawingManager_min.css" /><script type="text/javascript" src="static/offlineMapLib/library/DrawingManager_min.css"></script><!-- 百度地图3.0 End --></head><body><div id="app"></div></body>
</html>

组件内示例代码如下:

<!-- 地图展示 -->
<template><div style ="width:100%;height:100%"><div id="allmap"></div></div>
</template><script>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
export default {//import引入的组件需要注入到对象中才能使用components: {},data() {//这里存放数据return {offlineMapObj: {map: {},point: {},points: [],heatmapOverlay: {},},};},//监听属性 类似于data概念computed: {},//监控data中的数据变化watch: {},//方法集合methods: {initMap() {// 百度地图API功能var map = new BMap.Map("allmap"); // 创建Map实例map.centerAndZoom(new BMap.Point(116.404, 39.915), 6); // 初始化地图,设置中心点坐标和地图级别//添加地图类型控件map.addControl(new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP],}));//离线不支持//map.setCurrentCity("北京"); // 设置地图显示的城市 此项是必须设置的map.enableScrollWheelZoom(true); //开启鼠标滚轮缩放setTimeout(function() {layer.msg("鼠标滚轮缩放", { offset: "b" });}, 1000);},},//生命周期 - 创建完成(可以访问当前this实例)created() {},//生命周期 - 挂载完成(可以访问DOM元素)mounted() {this.initMap();},beforeCreate() {}, //生命周期 - 创建之前beforeMount() {}, //生命周期 - 挂载之前beforeUpdate() {}, //生命周期 - 更新之前updated() {}, //生命周期 - 更新之后beforeDestroy() {}, //生命周期 - 销毁之前destroyed() {}, //生命周期 - 销毁完成activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
};
</script>
<style lang="scss" scoped>
//@import url(); 引入公共css类
#allmap {width: 100%;height: 100%;overflow: hidden;margin: 0;font-family: "微软雅黑";
}
</style>

地图实现效果展示:

下一篇:百度离线地图示例之二:测距
系列文章后续一直有进行更新,有不完善的地方,可加微信一起交流:

百度离线地图示例之一:地图展示相关推荐

  1. 百度离线地图示例之三:矢量图

    前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末 ...

  2. 百度离线地图示例之四:热力图

    前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末 ...

  3. 百度离线地图示例之二:测距

    前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末 ...

  4. 百度离线地图示例之十三:动态运行轨迹实现(附源码)

    前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末 ...

  5. 百度离线地图示例之十二:混合图(街道图、卫星图)实现路径及打点

    前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),文末 ...

  6. 百度离线地图示例之十一:混合图(街道图、卫星图)实现

    前言介绍: 主要是基于v3.0的API版本进行的离线,纯内网可操作,基本上实现了现有90%以上的功能点,能兼容jpg和png格式的瓦片图层,实现了原生和基于Vue两个版本(包含常用的55个示例),实现 ...

  7. 百度离线地图API2.0 百度离线地图api,已经修改源码

    百度离线地图API2.0 百度离线地图api,已经修改源码,绕过服务端验证,除了路书等需要服务端数据支持的功能外,其余功能已经全部实现,包括常用的:地图示例.地图控件添加.覆盖物添加.信息窗口展示等等 ...

  8. Qt加载百度离线地图

    1.下载百度地图离线API 1.3 下载链接:http://download.csdn.net/detail/caoshangpa/9476608,网上虽然出现了2.0版本离线API,但是经试用,存在 ...

  9. php离线地图,如何发布百度离线地图及二次开发API

    相关教程: 1.说明 离线地图开发环境支持谷歌地图.百度地图.高德地图等等所有常用地图类型,支持在局域网内的地图部署.二次开发. 2.实现 第一步:下载安装离线地图开发环境 下载安装好之后,启动软件, ...

  10. QT实现加载百度离线地图

    在Qt中加载百度地图需要用到网络浏览器,在此采用webEngine模块,然后用webchannel进行qt与HTML/JavaScript的交互. 需求描述:软件加载百度地图,用鼠标在地图上选点,并进 ...

最新文章

  1. VASP载流子有效质量计算
  2. pip install skimage安装skimage库出错的解决办法
  3. CTFshow 信息收集 web19
  4. ps命令显示uid而不是用户名的解决方法
  5. #1413 : Rikka with String 后缀自动机 + 二级差分
  6. 微服务网关Gateway实现Host过滤
  7. 我做的小学二年级公开课《生命,生态和安全》的教案
  8. Codeforces Beta Round #11 B. Jumping Jack 思维
  9. Serverless 实战 —— 基于 Serverless 的 VuePress 极简静态网站
  10. 页面加载事件html5,JavaScript页面加载事件实例讲解
  11. 用 PHPRPC 实现 Ajax 安全登录
  12. OpenShift 4 之Istio-Tutorial (10) 访问白名单、黑名单
  13. Java基础学习总结(171)——CountDownLatch 使用总结
  14. azure db 设置时区_使用Azure Cosmos DB开始您的旅程
  15. ueditor使用小结
  16. java 理解main方法
  17. 2012Google校园招聘笔试题
  18. 帝国cms栏目添加二级域名
  19. 如何统计各个分发平台的下载数据
  20. Linux 文件内容查看

热门文章

  1. 由于找不到mfc100.dll,无法继续执行代码
  2. MATLAB自动设置仿真曲线颜色和线型属性
  3. 如何安装pandas包
  4. 设计模式-解释器模式
  5. 第九届蓝桥杯B组省赛。
  6. 视频自动生成字幕VideoSrt
  7. ECharts 简明教程,用js输出图表
  8. 恩山斐讯论坛k2p_K2P A1 A2 路由器刷机教程 最详细教程,适合新手!
  9. HTTP请求过程——Chrome浏览器Network详解
  10. 字节跳动面试真题- 整数反转