Es hat damit zu tun, wie Steuerelemente zu Ihrer Karte hinzugefügt werden. Zoom-und Out-Tasten ist die Standardeinstellung ol.control.Zoom
und so ist es die erste Kontrolle auf der Karte hinzugefügt. Dann wird Ihr benutzerdefiniertes Steuerelement nachträglich hinzugefügt und überlappt das Zoom-Steuerelement.
es zu überwinden, deaktivieren Sie die Zoom-Standardsteuerung während der Karte init wie so:
......new ol.Map({
controls: ol.control.defaults({
zoom:false//here is the disable
........
Dann fügen Sie Ihre Steuer individuelle und dann auf, wenn es mit der Zoomsteuerung hinzuzufügen. sollten alle zusammen sein:
var map = new ol.Map({
controls: ol.control.defaults({
zoom:false
}).extend([
new app.CustomControl(),
new ol.control.Zoom()
]),
layers: [
new ol.layer.Tile({
source: new ol.source.OSM()
})
],
target: 'map',
view: new ol.View({
center: [0, 0],
zoom: 2,
rotation: 1
})
});
hier ein fiddle ist es
UPDATE
in Aktion zu sehen, mit Overlays zu beschäftigen, während Overlay insertFirst:true
init so eingestellt, dass das Overlay unterhalb der angezeigt wird Kontrollen. Überprüfen Sie das API-Dokument here
Ich spreche nicht über eine Kontrolle Ich spreche von einem Overlay. So wie ich anfange zu vermuten, liegt das Problem darin, dass sich der Inhalt über den Overlays eher an die Spitze drängt als ein inhärentes Overlay-Problem. – Saurbaum
dann während der Überlagerung init set 'insertFirst: true', so dass das Overlay unter den Steuerelementen angezeigt wird.Überprüfen Sie die API doc -> http://openlayers.org/en/v3.17.1/apidoc/ol.Overlay.html – pavlos