Mne*_*nth 11 javascript openlayers
我使用OpenLayers并希望在左上角创建另一个导航控件.我知道如何添加控件,但在创建OpenLayers-Map时默认添加此导航.所以我想删除该控件,添加一个自己的.我已经知道,默认控件是一个OpenLayers.Control.PanZoom.
ato*_*gle 20
地图对象有一个名为属性controls即阵列OpenLayers.Control对象.如果没有明确设置该属性,然后将的OpenLayers假设您想要默认控件集,包括OpenLayers.Control.Navigation(),OpenLayers.Control.PanZoom(),OpenLayers.Control.ArgParser(),和OpenLayers.Control.Attribution().
要删除PanZoom或任何其他默认控件,只需controls在构造Map对象时设置属性数组.这是一个代码示例:
var map = new OpenLayers.Map('map', {
controls: [
new OpenLayers.Control.Navigation(),
new OpenLayers.Control.ArgParser(),
new OpenLayers.Control.Attribution()
]
});
Run Code Online (Sandbox Code Playgroud)
这是一个实例.
请注意,通过设置controls您将不会获得任何Control对象的属性是默认值.您需要的任何控件都必须手动添加.
如果您想了解它对您自己的工作原理,请参阅该Map对象的源代码.
小智 5
遍历控件数组,然后移除缩放控件
map.getControls().forEach(function(control) {
if (control instanceof ol.control.Zoom) {
map.removeControl(control);
}
}, this);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19388 次 |
| 最近记录: |