controls - OpenLayers - 重新定位缩放和平移控件

标签 controls openlayers styling

我正在尝试将 map 上的 PanPanel 和 ZoomPanel 控件重新定位到左下角而不是左上角。我看到我可以添加选项,但尽管我已经尝试过很多次,但我无法找到一种方法让它保持在左下角,即使在调整窗口大小时也是如此。

当我告诉他们相对于左下角重新定位时,我也不确定如何告诉他们像往常一样堆叠。

我更改了构成两个面板的图像,所以现在平移和缩放面板之间的空间比我想要的要多一些,所以我也在努力让它们彼此靠近。

除了研究在控件上使用选项之外,我还尝试为围绕两个面板的 div 的 id 创建样式,但 div 中的 id 的值为“OpenLayers.Map_2_OpenLayers_Container”,其中包含一个'.'.据我所知,这不是样式的合法标识。无论如何,它没有用。最重要的是,我认为我不能相信名称总是相同的,随着时间的推移,此页面上的持续工作会导致大量添加。

有什么想法吗?

最佳答案

尝试:

new OpenLayers.Control.YourControlXXXX({
    moveTo: function (px) {
        if ((px != null) && (this.div != null)) {
            this.div.style.left = yourLeft + "px";
            this.div.style.bottom = (yourBottom+controlHeigth) + "px";
        }
    },
    ... other options
})

嗯!我看到这些控件比我想象的更现代,由 CSS 定位,所以尝试:

.olControlPanPanel {
    bottom: 55px; /* not 0px */
    top: auto;
}

注意:如果您不确定 OL 的 css 加载位置,请尝试使用 div.olControlPanel {... 强制 CSS 的优先级。

关于controls - OpenLayers - 重新定位缩放和平移控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15773845/

相关文章:

javascript - 零星的 JS Bug 追踪 : Too Much Recursion

javascript - 如何在页面加载时放大当前位置

java - Tomcat 中的 Geoserver 跨域

JavaFX:将多个 Hbox 添加到选项卡中的内容时出错

c# - 从组合框中删除边框

javascript - 使用 Javascript 和 JQuery 获取控件的类型

c# - 将简单绑定(bind)到“文本属性”的解决方案扩展到多个控件以处理与任何类型的绑定(bind)?

c# - 在 WinForm C# 上捕获 KeyUp 事件

android - 如何在操作栏中变回狭窄并改变颜色

cocoa - iWork 风格的检查器面板中的选项卡