Loader verschwindet nicht bei Verwendung von WMTS-Layern

Issue #472 resolved
Pascal Röhling created an issue

Bei der Nutzung von WMTS-Layern verschwindet der Loader in einigen Szenarien nicht. Grundlegend erscheint dieses Problem, wenn man den jeweiligen Layer initial auf sichtbar setzt.

  1. Wenn kein Layer mit der optionsFromCapabilities Methode für das Einbinden verwendet wird, verschwindet der Loader nie.
  2. Wenn ein einzelner Layer mit der optionsFromCapabilities eingebunden wird und initial auf sichtbar gesetzt wird & ein anderer Layer gewählt wird (ohne die Methode), bleibt der Loader auch bestehen.
  3. Wenn ein einzelner Layer ohne die optionsFromCapabilities inital auf sichtbar gesetzt wird und ein Layer mit der optionsFromCapabilities ausgewählt wird, dann wird der Loader ausgeblendet. Dies hängt damit zusammen, dass in Zeile 35 der wmts.js dies manuell ausgelöst wird.
  4. Wenn zwei Layer eingebunden sind, wovon einer mit der optionsFromCapablities eingebunden wurde, verschwindet der Loader. Vermutung ist, dass dieses Verhalten selben Grund hat wie Punkt 3.

Anbei die beispielhafte Konfiguration.

Comments (6)

  1. Christopher Reder

    Ich habe mir in dev dein Portal mal angesehen und konnte kein Problem mehr nachstellen. Der Loader wird gar nicht mehr angezeigt.

  2. Pascal Röhling reporter

    Ich hab die in config_v2.zip abgelegte Konfiguration mit dem aktuellen dev-Stand getestet und der Fehler besteht weiterhin.
    Übersehe ich etwas?

  3. Dennis Sen

    Moin,

    ich habe den Fehler bei mir nachstellen können und ihn untersucht. Im PR https://bitbucket.org/geowerkstatt-hamburg/masterportal/pull-requests/2104/lgvp1-63-bugfix-for-non-disappearing-wmts/diff wird das Problem erstmal oberflächlich behandelt. Mir ist dabei aber aufgefallen, dass der Mechanismus um initialLoading broken ist.

    Ich habe dazu Kommentare in der map.js angefügt. Das Problem um "addLoadingLayer/removeLoadingLayer" fiel bisher nicht auf, da versehentlich beide Funktionen ausgeführt werden, obwohl sie eigentlich gebunden werden sollten.

    Dadurch wird der initialLoadingLayer einfach beim ersten Aufruf von "addLayerToIndex" mit einem Nicht-WMTS im Layer-Set ausgeschaltet, da der Zähler dann sofort auf 0 fällt, was er nur einmalig tun muss.

    Sollte das unter diesem Issue weiter behandelt werden oder in ein neues wandern? Evtl. lohnt es sich auch das erstmal intern aufzunehmen, wie das Loading am Ende eigentlich aussehen soll, und das dann im Refactor einfach neu umzusetzen.

    Eigentlicher Fehler für den Issue war, dass sich der Zähler durch ein Layer-Set nur aus WMTS in den negativen Bereich entfernte, da "addLayerToIndex" beim Start drei mal aufgerufen wird und das "removeLoadingLayer" immer in wmts.js erzeugt wurde, das "addLoadingLayer" aber nur für WMTS mit optionsFromCapabilities. Das ist im PR jedenfalls behoben!

  4. Dennis Sen

    PR ist gemerged. Soll das Ticket für das beschriebene Problem weiter offen bleiben oder wird das anderweitig erfasst?

  5. Log in to comment