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

这篇具有很好参考价值的文章主要介绍了在百度地图中添加自定义全屏控件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

百度地图中添加全屏控件

前置知识:
进入整个页面的全屏模式 :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.Control
  ZoomControl.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);

效果:
在百度地图中添加自定义全屏控件,前端

在百度地图中添加自定义全屏控件,前端文章来源地址https://www.toymoban.com/news/detail-671169.html

到了这里,关于在百度地图中添加自定义全屏控件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MFC 自定义控件添加 tip

    一、要求 1. 自定义 tip 提示并实时提示,跟随鼠标移动 2. 避免重复刷导致 tip 闪烁 3. picture 控件添加自定义变量 二、tip 涉及 2.1 CMFCToolTipCtrl、CMFCToolTipInfo - 示例:https://www.cnblogs.com/kuaixue/p/13723093.html 2.2 CToolTipCtrl - 示例:https://www.cnblogs.com/htj10/p/11704225.html 三、分析 3.1 对操作

    2024年01月18日
    浏览(35)
  • 前端vue uni-app百度地图定位组件,显示地图定位,标记点,并显示详细地址

    快速实现前端百度地图定位组件,显示地图定位,标记点,并显示详细地址; 阅读全文下载完整代码请关注微信公众号: 前端组件开发 效果图如下:     代码如下: # 百度地图定位组件,显示地图定位,标记点,并显示详细地址 #### 使用方法 ```使用方法 #安装vue-baidu-map插件

    2024年02月08日
    浏览(62)
  • wpf 为自定义控件添加滚动条

    在WPF中为自定义控件添加滚动条通常涉及将自定义控件置于 ScrollViewer 控件内,并根据需要配置ScrollViewer的属性。以下是一个基本步骤说明: 创建自定义控件 :首先,你有一个自定义控件(比如名为 RWrapPanel ,继承自 WrapPanel 并实现 IScrollInfo 接口以进行平滑滚动管理)。 嵌

    2024年02月01日
    浏览(38)
  • 在 WPF 为你的自定义控件添加属性

    首先,在你的自定义控件类 (示例: UserControl1 ) 添加以下代码: 以上代码简化了官方方法的流程,以便你不用再去额外输入不必要的参数,并提前对 sender 进行类型转换。 此后,添加一个属性只需要添加以下代码即可,相比传统方法看起来会非常直观,非常省事。 以上代码中

    2024年02月11日
    浏览(46)
  • 高德地图自定义绘制园区区域,区域描边,并添加自定义内容maker标注

    绘制自定义区域第一步需要获取指定区域的边界坐标点list,可以在高德地图官网的工具中获取 高德选点工具,拿到区域边界点list后就是绘制,区域绘制有几种方式,具体可查看高德的API,大体可用Wall和Prism两种方式,区别是wall没有区域填充颜色,Prism可以填充,所以我选择

    2024年02月12日
    浏览(49)
  • 苹果IOS在Safari浏览器中将网页添加到主屏幕做伪Web App,自定义图标,启动动画,自定义名称,全屏应用

    在ios中我们可以使用Safari浏览自带的将网页添加到主屏幕上,让我们的web页面看起来像一个本地应用程序一样,通过桌面APP图标一打开,直接全屏展示,就像在APP中效果一样,完全体会不到你是在浏览器中。 通过点击桌面上的图标,直接打开全屏页面:(这图标是我用CSDN的图标

    2024年02月06日
    浏览(70)
  • 苹果IOS在Safari浏览器中将网页添加到主屏幕做伪Web App,自定义图标,启动动画,自定义名称,全屏应用pwa

    在ios中我们可以使用Safari浏览自带的将网页添加到主屏幕上,让我们的web页面看起来像一个本地应用程序一样,通过桌面APP图标一打开,直接全屏展示,就像在APP中效果一样,完全体会不到你是在浏览器中。 通过点击桌面上的图标,直接打开全屏页面:(这图标是我用CSDN的图标

    2024年02月09日
    浏览(73)
  • Docker部署Superset 2.1.0+开发环境+汉化+匿名访问+创建自定义图表(二次开发)+集成echarts+echarts百度地图

    目录 前言 :为什么要写这篇文章? 一、superset是什么? 二、建议软件 三、安装步骤 1.安装docker 2.拉取源码 3.修改源码的dockerfile 4.创建superset容器 5.修改容器内的账号密码 6.修改Superset仪表盘(Dashboard)可以匿名访问(免登录) 7.发布dashboard并自定义url 四、二次开发(自定义

    2024年02月09日
    浏览(61)
  • Docker部署Superset v2.1.0 +修改环境+汉化+匿名访问+创建自定义图表(二次开发)+集成echarts+echarts百度地图

    目录 前言 :为什么要写这篇文章? 一、superset是什么? 二、建议软件 三、安装步骤 1.安装docker 2.拉取源码 3.修改源码的dockerfile 4.创建superset容器 5.修改容器内的账号密码 6.修改Superset仪表盘(Dashboard)可以匿名访问(免登录) 7.发布dashboard并自定义url 四、二次开发(自定义

    2024年02月07日
    浏览(40)
  • vue使用百度地图获取可视区域四角坐标(百度地图四角坐标,百度地图3D可视区域四角坐标)

    百度地图api只提供了左下角和右上角两个坐标,左上角坐标和右下角坐标需要自己操作获取,方法如下: 然后在地图上添加监听事件, 这样用户在拖拽或缩放地图时也可以获取到地图可视区域的四角坐标: 创作不易,感觉有用就一键三连,感谢(●\\\'◡\\\'●)

    2024年02月11日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包