Mehr

Warum kann ich in openLayers 3 keine Layerliste zur Auswahl in die Karte laden, addEventListener und attachEvent sind nicht verfügbar

Warum kann ich in openLayers 3 keine Layerliste zur Auswahl in die Karte laden, addEventListener und attachEvent sind nicht verfügbar


Ich habe versucht, dieses Beispiel zu integrieren, das zeigt, wie man Basisebenen in eine Seite wechselt, an der ich arbeite:

http://openlayers.org/en/v3.10.1/examples/bing-maps.html

Wenn ich versuche, meine Seite mit dem enthaltenen Code zu laden, erhalte ich diese Fehlermeldung:Nicht abgefangener Fehler: addEventListener und attachEvent sind nicht verfügbar. ol.js:34. Ich habe das schon einiges gegoogelt, aber noch keine Antwort gefunden. Hier ist der gesamte Code für meine Seite - ich habe Code aus verschiedenen Beispielen zusammengestellt, damit ich weiß, dass er bereinigt werden muss, wollte aber alles, was ich als Referenz habe, einschließen. Kann jemand helfen?

AKTUALISIEREN:

Ich habe festgestellt, dass der Fehler nicht mehr angezeigt wird, wenn ich layerVector aus der Layerliste entferne, um sie der Karte hinzuzufügen. Jetzt ist meine Frage wirklich, wie kann ich die Funktionalität zur Auswahl einer Basisebene haben, während die Vektorebene immer beibehalten wird?

   Beispiel für eine Vektorebene              

Das Problem kommt von der Art und Weise, wie Sie Layer beim Initialisieren Ihrer Karte deklarieren. Also dieser Teil deines Codes:

var map = new ol.Map({layer: [baseLayers, layerVector], loadTilesWhileInteracting: true, target: document.getElementById('map'), view: new ol.View({ //projection:projection center: ol.proj .transform( [-116, 42], 'EPSG:4326', 'EPSG:3857'), Zoom: 6}) });

sollte das ändern:

varlayerToAdd = baseLayers.concat(layerVector); var map = new ol.Map({layer:layerToAdd , loadTilesWhileInteracting: true, target: document.getElementById('map'), view: new ol.View({ //projection:projection center: ol.proj.transform( [ -116, 42], 'EPSG:4326', 'EPSG:3857'), Zoom: 6}) });

Es scheint, dass die Art und Weise, wie Sie Ebenen auf der Karte übergeben, kein geeignetes Array ist. so bildet das Verketten des Arrays von Basisschichten mit der Vektorschicht ein richtiges Array. Ich habe es auch hier gemacht, um es zu testen. Es gibt leichte Modifikationen Ihres Codes, aber das oben erwähnte Stück scheint das Problem zu verursachen. Hoffe dir zu helfen!!!!


Schau das Video: OpenLayers Introduction for Beginners