自定义 OpenLayers 控件

2024-05-07

如何轻松自定义 OpenLayers 地图控件?或者至少,如何最小化控件的高度?

谢谢。

附言。有 CSS 覆盖吗?


您可以对任何 openLayers 控件进行子类化。我刚刚通过对 PanZoomBar (panZoomBar.js) 进行子类化、覆盖 draw() 方法并注释掉所有按钮元素,只留下缩放滑块来制作“缩放滑块”。如下所示:

function zoomSlider(options) {

    this.control = new OpenLayers.Control.PanZoomBar(options);

    OpenLayers.Util.extend(this.control,{
        draw: function(px) {
            // initialize our internal div
            OpenLayers.Control.prototype.draw.apply(this, arguments);
            px = this.position.clone();

            // place the controls
            this.buttons = [];

            var sz = new OpenLayers.Size(18,18);
            var centered = new OpenLayers.Pixel(px.x+sz.w/2, px.y);

            this._addButton("zoomin", "zoom-plus-mini.png", centered.add(0, 5), sz);
            centered = this._addZoomBar(centered.add(0, sz.h + 5));
            this._addButton("zoomout", "zoom-minus-mini.png", centered, sz);
            return this.div;
        }
    });
    return this.control;
}

var panel = new OpenLayers.Control.Panel();
panel.addControls([
    new zoomSlider({zoomStopHeight:11}),
    new OpenLayers.Control.LayerSwitcher({'ascending':false}),
]);
map.addControl(panel);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义 OpenLayers 控件 的相关文章

随机推荐

  • 在 python 中使用 numpy.linalg.eig 后对特征值和关联的特征向量进行排序

    我使用 numpy linalg eig 来获取特征值和特征向量的列表 A someMatrixArray from numpy linalg import eig as eigenValuesAndVectors solution eig
  • 如何使用 Javascript 弹出一个新窗口,其 html 与其父窗口几乎相同

    我想从单个页面创建多个版本的适合打印的页面 我正在考虑这样做 在原始页面上放置几个按钮 然后单击一个按钮将弹出一个新窗口 其html与其父窗口相同 但进行了一些修改 例如 将某些DIV的显示属性设置为没有任何 可以使用javascript来
  • 比较通用列表和数组

    为什么 generic list 比 array 慢 通用列表比数组稍慢 但在大多数情况下您不会注意到 主要与稍微复杂的查找有关 据说 List 在幕后 使用数组 但不能保证以与数组相同的方式将节点保留在相邻内存中 然而 我早在 2005
  • 广告过滤服务器端[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发一个 Web 应用程序 在其中显示来自其他网站的 HTML 在显示最终版本之前 我想去掉广告 关于如何实现这一目标有什么想法
  • 在哪里可以找到 Qt 的 dll 的 pdb 文件?

    我正在调试 Qt 应用程序 在哪里可以找到 Qt 的调试 dll 我在windows上使用的是vs2010 它说它需要 Qt 中的许多 dll 的 pdb 文件 从 Qt 5 9 开始 与 Windows 发行版相对应的 PDB 可作为单独
  • 如何在派生类中引用基类的属性?

    我可以做这个 class Blah2 atttr 5 aa atttr ob Blah2 print ob aa http ideone com pKxMc2 http ideone com pKxMc2 所以我想我也可以这样做 class
  • UIView 被状态栏剪切直到自动旋转

    我创建了一个多视图应用程序 它使用多个控制器来显示和控制视图 我遇到的问题是 当模拟器最初加载视图时 标题部分被屏幕顶部的栏覆盖 并且底部的工具栏没有接触屏幕的底部 我使用界面生成器大小属性来控制 iPhone 旋转时的视图 效果非常好 旋
  • 如何让 minimongo.js 在浏览器中运行?

    The minimongo 的 github 演示 https github com mWater minimongo陈述为 客户端 mongo 数据库 通过 http 与服务器同步 还有一个还有一个minimongo 独立 https g
  • Clang 格式将 if 语句体拆分为多行

    我有以下 cpp 文件 void call long function name bool void sf bool int main bool test true if test call function name test if te
  • 具有多个等待组的管道中通道范围内的死锁

    我正在练习通过同时将计算分为 100 组来计算阶乘的挑战 我解决了 WaitGroups 上的很多问题 但仍然处于calculateFactorial函数我在通道部分的范围上陷入了僵局 希望有人能指出这个问题 谢谢 package main
  • 使用链接进行电子邮件验证是一个坏主意

    在我的注册过程中 用户注册后 他们会收到通过电子邮件发送的验证链接 如果他们单击该链接 那么他们的帐户才会得到验证 但这种验证方法对于机器人来说是不是太容易了 我认为电子邮件可以由机器人创建 但可以肯定的是 如果验证只是单击链接 那么它也可
  • AWS Serverless Lambda + Angular - TypeError:express 不是函数

    该应用程序在 localhost 4200 中运行良好 但是 当我通过无服务器 Lambda 迁移到 AWS 时 我在 cloudwatch 日志中收到此错误 我想正因为如此我得到了500 message Internal server e
  • 如何在 ADO.NET 对象上调用 Dispose?

    实现的数据库访问类IDbConnection IDbCommand and IDataReader全部实施IDisposable 但显然 Command 和 Reader 依赖于 Connection 我的问题是 我是否必须单独对每个对象进
  • NLTK 中的 wordnet lemmatizer 不适用于副词 [重复]

    这个问题在这里已经有答案了 from nltk stem import WordNetLemmatizer x WordNetLemmatizer x lemmatize angrily pos r Out 41 angrily 这是 nl
  • 去掉尾随零和小数点

    使用 Lua 我将数字格式化为可变位数并去掉尾随零 小数点 例如 string format precision f value gsub 0 1 gsub 值的类型为数字 正数 负数 整数 小数 所以任务已经解决了 但出于美学 教育和性能
  • C# 访问冲突异常

    这是我的代码抛出异常 它今天随机开始 这是照片 这是整个页面代码和错误异常 public frmWFDocumentDetail InitializeComponent NavigationInTransition navigateInTr
  • 如何查找依赖于Python中特定模块的模块列表

    为了减少基于 Python 的 Web 应用程序的开发时间 我尝试对我最近修改的模块使用 reload reload 通过一个专用网页 Web 应用程序的开发版本的一部分 进行 该网页列出了最近修改的模块 并且 py 文件的修改时间戳晚于相
  • 如何在 Android Studio 中立即获取 LivaData 的值?

    savedRecordFileName是一个变量LivaData
  • 默认启动器图标大小应该是多少

    我参考了文档http developer android com guide practices ui guidelines icon design html icon sets http developer android com gui
  • 自定义 OpenLayers 控件

    如何轻松自定义 OpenLayers 地图控件 或者至少 如何最小化控件的高度 谢谢 附言 有 CSS 覆盖吗 您可以对任何 openLayers 控件进行子类化 我刚刚通过对 PanZoomBar panZoomBar js 进行子类化