在百度地图中添加自定义全屏控件

百度地图中添加全屏控件

前置知识:
进入整个页面的全屏模式 :document.documentElement.requestFullscreen()
进入特定元素的全屏模式 : document.getElementById("ID").requestFullscreen()
退出全屏:document.exitFullscreen()

调用百度地图API写自定义控件的核心部分代码:

 var map = new BMapGL.Map('map');    // 创建Map实例map.centerAndZoom(new BMapGL.Point(lng, lat), 3);  // 初始化地图,设置中心点坐标和地图级别map.enableScrollWheelZoom(true);     //开启鼠标滚轮缩放var scaleCtrl = new BMapGL.ScaleControl();  // 添加比例尺控件map.addControl(scaleCtrl);var zoomCtrl = new BMapGL.ZoomControl();  // 添加缩放控件map.addControl(zoomCtrl);// 添加自定义全屏控件  定义 一个控件类function ZoomControl() {this.defaultAnchor = BMAP_ANCHOR_TOP_RIGHT;this.defaultOffset = new BMapGL.Size(10, 20)}//通过JavaScript的prototype属性继承于BMap.ControlZoomControl.prototype = new BMapGL.Control();//自定义控件必须实现自己的initialize方法,并且将控件的DOM元素返回ZoomControl.prototype.initialize = function (map) {//创建一个dom元素var div = document.createElement('div');//添加文字说明div.appendChild(document.createTextNode('全屏'));// 设置样式div.style.cursor = "pointer";div.style.padding = "8px 13px";div.style.margin = "20px 0px";div.style.boxShadow = "0 2px 6px 0 rgba(27, 142, 236, 0.5)";div.style.borderRadius = "5px";div.style.backgroundColor = "white";// 绑定事件-全屏div.onclick = function (e) {if (document.fullscreenElement === null){document.getElementById("map").requestFullscreen();}else {document.exitFullscreen();}}document.addEventListener("fullscreenchange", () => {if (document.fullscreenElement === null) {console.log("Exited fullscreen");div.innerText = '全屏';} else {div.innerText='退出全屏';console.log("Entered fullscreen");}});// 添加DOM元素到地图中map.getContainer().appendChild(div);// 将DOM元素返回return div;}//创建控件元素var myZoomCtrl = new ZoomControl();//添加到地图中map.addControl(myZoomCtrl);

效果:
在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Kyligence Copilot 登陆海外,斩获 Product Hunt 日榜 TOP 2

8月14日,AI 数智助理 Kyligence Copilot 在全球知名科技产品平台 Product Hunt 上线,其以出色的产品创新实力,在激烈的竞争中脱颖而出,仅仅在 24 小时内收获了超过 400 个投票和近 200 条支持评论,荣登当日产品榜排名第…

MyBatis分页查询与特殊字符处理

目录 目录 一、引言 1.1 简介Mybatis 1.2分页查询的重要性 1.3MyBatis特殊字符处理的挑战 挑战1:SQL注入漏洞 挑战2:查询结果异常 挑战3:数据完整性问题 挑战4:跨平台兼容性 挑战5:用户体验 如何应对挑战 二…

视频云存储/安防监控AI视频智能分析平台——智慧煤矿解决方案

一、方案背景 煤矿业是一个高风险行业,存在着许多潜在的安全隐患和风险。互联网、物联网、人工智能等新兴技术高速发展,为传统行业带来颠覆性变革,将高新技术与传统技术装备、管理相融合,实现产业转型升级已经成为煤矿行业发展趋…

Linux学习记录——이십유 多线程(3)

文章目录 1、生产者消费者模型1、基于BlockingQueue的生产者消费者模型2、对模型全面的认识3、多生产者多消费者 2、信号量1、POSIX信号量2、基于环形队列的生产消费模型3、多生产者多消费者 3、多生产者多消费者模型的意义 1、生产者消费者模型 顾名思义,就像是供…

Ubuntu20.04安装软件报错:The following packages have unmet dependencies

Ubuntu20.04更换阿里云源后安装软件都会报错:The following packages have unmet dependencies 查看资料,大概是ubuntu本身的源比较版本较老,而阿里云的源比较新,因此版本不匹配造成依赖的库不匹配,所以只要将阿里云的…

使用 Nacos 作为 Spring Boot 配置中心

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

JMeter性能测试(上)

一、基础简介 界面 打开方式 双击 jmeter.bat双击 ApacheJMeter.jsr命令行输入 java -jar ApacheJMeter.jar 目录 BIN 目录:存放可执行文件和配置文件 docs目录:api文档,用于开发扩展组件 printable-docs目录:用户帮助手册 li…

[MySQL]主从服务器布置

配置主服务器 配置文件 /etc/my.cnf 在[mysqld]下进行配置 log_binON //启动二进制日志 log-bin mysql-bin //启用二进制日志,用于记录主服务器的更新操作 server-id 1 // 用来表示mysql服务id,保证集成环境中的唯一性 , 范围 [1,2^32) read-only0 // 1表示只…

基于XL32F003单片机的可控硅调光方案

可控硅调光是一种用于调节电源输出电压的技术,被广泛应用于各种场景。它主要通过改变波形的导通角度来调节输出电压的大小,从而实现对照明设备亮度的控制。在照明市场占据了很大的调光市场。 可控硅调光的兼容性强,应用范围广。例如&#xff…

基于FPGA视频接口之HDMI2.0编/解码

简介 为什么要特别说明HDMI的版本,是因为HDMI的版本众多,代表的HDMI速度同样不同,当前版本在HDMI2.1速度达到48Gbps,可以传输4K及以上图像,但我们当前还停留在1080P@60部分,且使用的芯片和硬件结构有很大差别,故将HDMI分为两个部分说明1080@60以下分辨率和4K以上分辨率(…

Linux-环境变量

文章目录 常见环境变量查一个环境变量系统调用接口getenv 什么是环境变量?命令行参数向量表两张核心向量表 结论证明一下子进程继承了父进程的环境变量?export将本地变量变成环境变量 本地变量&&内建命令本地变量:只会在本BASH内部有…

iis站点备份以及端口号查找

文件地址 %windir%\system32\inetsrv\config