2017-02-23 6 views
1

Ich arbeite Openlayers 3. Ich habe drei Schichten WMS auf der Karte wie folgt hinzugefügt: Gemeinde, Bezirk, Provinz. Ich habe "forEachLayerAtPixel" verwendet, um Informationen der aktuellen Ebene beim Zoomen zu erhalten. Beispiel: Wenn auf den Layer-Bereich zoomen, rufen Sie den Informations-Layer District auf, oder zoomen Sie auf den Layer Commune, und rufen Sie den Informations-Layer Commune ab. Aber es erhalten nur Informationen des Layers Province, wenn Zoom auf Layer District dann "undefined" zurückgeben. Ich benutzen Ereignis „pointermove“ für Hover auf der Karte:Openlayers 3 forEachLayerAtPixel bekommen nur Schicht

map.on("pointermove", function (evt) { 
    if (evt.dragging) return; 
    const hit = map.forEachLayerAtPixel(evt.pixel, (layer) => { 
        if (layer instanceof ol.layer.Tile) 
        return layer; 
        return null; 
       }); 
    console.log(hit); 
+0

Hallo, was ist deine Frage? – feedMe

+0

Keine Ebene zurückgeben oder die Suche wird beendet. Versetzen Sie das Protokoll in den Rückruf. –

+0

[http://stackoverflow.com/help/how-to-ask](http://stackoverflow.com/help/how-to-ask) –

Antwort

0

Wahrscheinlich ist die Frage: wie eine bestimmte Schicht mit dem Verfahren forEachLayerAtPixel verfolgen? da scheinbar immer undefiniert alias Variable nicht zurückgibt.