我正在尝试将 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/