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

前言介绍:

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

地图示例:

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

地图控件:

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

覆盖物示例:

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

信息窗口示例:

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

右键菜单示例:

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

鼠标操作示例

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

添加层示例:

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

事件示例

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

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

Heatmap

作用:热力图

SearchInfoWindow

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

MarkerClusterer

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

RectangleZoom

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

TextIconOverlay

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

LuShu

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

GeoUtils

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

DistanceTool

作用:测距。

DrawingManager

作用:矢量图绘制。

代码示例实现:

html引用示例代码如下:

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

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

<!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="height:100%;width:100%"><div id="allmap54"></div></div>
</template>methods: {initMap() {// 百度地图API功能// 百度地图API功能var map = new BMap.Map("allmap54");    // 创建Map实例map.centerAndZoom(new BMap.Point(116.404, 39.915), 14);  // 初始化地图,设置中心点坐标和地图级别map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放map.setMapType(BMAP_HYBRID_MAP);		//设置默认显示卫星混合图	}}

地图实现效果展示:
在这里插入图片描述

系列文章后续一直有进行更新,有不完善的地方,可加微信一起交流:
在这里插入图片描述

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

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

相关文章

堆中分配二维数组初始化排序

方法一&#xff1a; #include <stdio.h> #include <stdlib.h> #include <string.h> int getmem(char *** parry,int *depth,int *len){ int mydepth *depth; int mylen *len; char ** myarry (char **)malloc(mydepth*sizeof(char*)); for(int i0;i<…

arm内核调试仿真

qemu仿真ARM linux内核&#xff0c;支持网络协议&#xff0c;DHCP&#xff0c; telnet&#xff0c; ftp... 而且可以支持u-boot引导内核启动&#xff0c;下图为效果图&#xff1a;

ARM内核架构和SOC架构

注&#xff1a;本文资料全部来源于网络或书籍&#xff0c;同时加上个人理解。若有侵权&#xff0c;告知即删。若有错误&#xff0c;留言商讨。 0、ARM处理器功能扩展和架构演变 1、cortex A9 &#xff08;ARMv7指令集&#xff09;-----传说中的CPU 2、Exynos4412芯片框图-----…

arm linux 内核配置,Linux + ARM驱动开发环境配置(内核配置与编译)

要想编写驱动&#xff0c;首先是建立内核目录树。 ** 1、查看ARM开发板的内核版本 ** uname -a 我的arm开发板的版本是3.4.39 ** 2、安装必要的软件包 ** sudo apt-get install build-essential kernel-package libncurses5-dev sudo apt-get install ncurses-dev ** 3、下载一…

ARM 内核寄存器 和 基本汇编语言讲解

对于嵌入式开发者来说&#xff0c;了解汇编语言和内核寄存器是对内核深入理解的基础..增加 2.2 汇编伪指令 章节 2021/12/12..完善 2.3 ARM汇编指令集 2021/12/12..增加 3.1 不同编译器的反汇编 2021/12/14 ..增加 3.2 C和汇编 比较分析 …

jtag访问arm内核寄存器

jtag的原理图jtag接口访问arm Device ID code register的步骤jtag接口访问arm Device ID code register的功能验证的testbenchjtag接口访问arm Device ID code register的功能验证的波形图jtag相关注意细节jtag访问arm内核寄存器的步骤与DTR相关的协处理器指令介绍最后通过封装…

关于ARM内核经典系列ARM7/ARM9/ARM11和Cortex®-A/Cortex®-R/Cortex®-M的产品线简单介绍

目前市场上的嵌入式单片机或者Soc大部分都是ARM的内核架构&#xff0c;相信大家对Cortex-M3/Cortex-M4&#xff0c;Cortex-A53/Cortex-A73等有所耳闻。 ARM公司主要是设计处理器内核的公司&#xff0c;之前的ARM7/ARM9/ARM11被划分为经典的ARM内核&#xff1b;后面ARM公司分出…

常见前端面试之VUE面试题汇总三

7. Vue 中封装的数组方法有哪些&#xff0c;其如何实现页面更新 在 Vue 中&#xff0c;对响应式处理利用的是 Object.defineProperty 对数据进 行拦截&#xff0c;而这个方法并不能监听到数组内部变化&#xff0c;数组长度变化&#xff0c;数 组的截取变化等&#xff0c;所以需…

配置arm内核实现NFS功能

NFS介绍 NFS&#xff08;Network File System&#xff09;即网络文件系统&#xff0c;是FreeBSD支持的文件系统中的一种&#xff0c;它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中&#xff0c;本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件&…

什么是arm-arm体系架构版本(指令集版本)-arm内核版本

1、什么是arm&#xff1f; arm公司&#xff1a;是英国一家电子公司的名字&#xff0c;该公司成立于1990年11月&#xff0c;是苹果电脑&#xff0c;Acorn电脑集团和VLSI Technology的合资企业。Acorn曾在1985年推出世界上首个商用单芯片RISC&#xff08;Reduced Instruction Se…

ARM内核——寄存器功能讲解

根据“ARM-thumb 过程调用标准”&#xff1a; 通用寄存器 通用寄存器包含R0到R12&#xff0c;13个寄存器 R0-R3 用作传入函数参数&#xff0c;传出函数返回值。在子程序调用之间&#xff0c;可以将 r0-r3 用于任何用途。被调用函数在返回之前不必恢复 r0-r3。如果调用函数需…

ARM内核版本

ARM架构CPU发展历程&#xff1a; &#xff08;https://en.wikipedia.org/wiki/ARM_architecture#CPU_modes&#xff09;

嵌入式芯片的硬件组成(ARM内核)

嵌入式最小硬件系统的6部分 基于ARM内核的嵌入式芯片的硬件组成 连接到系统总线上的高带宽组件主要包括&#xff1a; 存储器及控制器、电源管理与时钟控制器、中断控制器、DMA控制器、GPIO端口、互联通信组件、定时计数组件、模拟通道组件。

ARM内核全解析

前不久 ARM 正式宣布推出新款 ARMv8架构 的 Cortex-A5 0处理器系列产品&#xff0c;以此来扩大ARM在高性能与低功耗领域的领先地位&#xff0c;进一步抢占移动终端市场份额。Cortex-A50是继 Cortex-A15 之后的又一重量级产品&#xff0c;将会直接影响到主流PC市场的占有…

ARM 内核分类

根据ARM官方资料和网上资料整理。 先来一张Architecture的图片 ARM微处理器系列 ARM 微处理器目前包括下面几个系列&#xff0c;以及其它厂商基于 ARM 体系结构的处理器&#xff0c;除了具有 ARM 体系结构的共同特点以外&#xff0c;每一个系列的 ARM 微处理器都有各自的特点和…

ARM内核结构

ARM内核有4个功能模块T、D、M、I&#xff0c;可供生产厂商根据不同用户的要求来配置生产ARM芯片。 其中&#xff1a;T功能模块表示16位Thumb&#xff0c;可以在兼顾性能的同时减少代码尺寸。M功能模块表示8位乘法器。D功能模块表示Debug&#xff0c;该内核中放置了用于调试的结…

ARM内核、指令集等简介

文章目录 1.ARM架构学习1.1.ARM相关背景介绍 2.ARM指令集2.1 A32指令集2.2 A64指令集2.3 代码举例说明 3.ARM与RISC、CISC的关系4.ARM与哈佛结构、冯诺依曼结构 1.ARM架构学习 ARM即是公司名&#xff0c;是一家英国的公司&#xff0c;也是芯片名&#xff0c;随便嵌入式设备的发…

ARM 之五 发展史及各时期内核(ARM1 ~ ARM11 / Cortex)介绍

很久很久以前   1978年12月5日&#xff0c;物理学家赫尔曼豪泽&#xff08;Hermann Hauser&#xff09;和工程师 Chris Curry&#xff0c;在英国剑桥创办了CPU公司&#xff08;Cambridge Processing Unit&#xff09;&#xff0c;主要业务是为当地市场供应电子设备。1979年&a…

ARM内核与架构

1、ARM架构分类 ARM架构发展至今分为 ARMv1~ARMv8 &#xff0c;不同架构之间指令集存在差异。根据架构类型又开发出不同内核&#xff0c;常用的 ARMv7 架构有三种类型的内核&#xff1a; 1&#xff09;Cortex-A&#xff1a;用于高性能应用&#xff0c;主要支持分页内存管理单…

ARM内核科普

从1985年ARMv1架构诞生起&#xff0c;到2011年&#xff0c;ARM架构已经发展到了第八代ARMv8。 Cortex-A32/35/53/57/72/73/77/78采用的都是ARMv8架构&#xff0c;这是ARM公司的首款支持64位指令集的处理器架构。 3&#xff09; ARM11之前的处理器和指令集架构 ARM11芯片之前&…