Probleme in der Searchbar

Issue #546 resolved
Laura Meierkort created an issue

Portal: sc_master

  • Bei der Eingabe eines Suchbegriffs in die Suchleiste (z.B. “Altona”) öffnet sich eine Liste mit Suchergebnissen, jedoch funktioniert der Klick auf die Schaltfläche “alle Ergebnisse anzeigen” nicht. Dieses Verhalten tritt in den Browsern Chrome, Firefox und IE11 sowohl im Desktop Modus als auch im mobilen Modus auf.

  • Bei der Eingabe des Begriffes “Krankenhaus” in der Suchzeile und der Auswahl von z.B. “Krankenhaus Jerusalem” öffnet sich lediglich das GFI Fenster, es wird jedoch nicht zu dem Krankenhaus gezoomt. Dieses Verhalten tritt in den Browsern Chrome, Firefox und IE11 sowohl im Desktop Modus als auch im mobilen Modus auf.

  • Bei einem Klick auf ein Suchergebnis im IE11 (z.B.: Blankenese) erscheint in der Konsole der Entwicklerwerkzeuge folgende Meldung: “Given coordinates must be of type integer! Although it might not break, something went wrong and needs to be checked!”. Dieses Verhalten tritt nur im IE11 auf, jedoch sowohl im Desktop Modus als auch im mobilen Modus.

Comments (12)

  1. Laura Meierkort reporter

    Bei der Lösung des Problems mit der nicht funktionierenden Schaltfläche “alle Ergebnisse anzeigen”, bin ich in der /modules/searchbar/view.js in der Funktion renderHitList auf folgenden Kommentar (hier in Zeile 8) gestoßen:

    renderHitList: function () {
            let attr;
    
            if (this.model.get("hitList").length === 1) {
                this.hitSelected(); // first and only entry in list
            }
            else {
                attr = this.model.toJSON();
                attr.uiStyle = Radio.request("Util", "getUiStyle");
                // sz, does not want to work in a local environment, so first use the template as variable
                // $("ul.dropdown-menu-search").html(_.template(SearchbarHitListTemplate, attr));
            }
            if (attr.hasOwnProperty("typelist")) {
                this.$("ul.dropdown-menu-search").html(this.templateHitList(attr));
            }
        },
    

    Was hat das zu bedeuten? Bzw. was soll hier erreicht werden?

  2. Sven Junker-Beyel

    Der Kommentar ist wirklich nicht sehr hilfreich…

    Der Fehler “alle Ergebnisse anzeigen geht nicht” ist auf dem Branch: stable-candidate bereits behoben. Es lag daran kann, dass typelist eigentlich typeList heißen muss. (Hier in der letzten if-Bedingung)

  3. Laura Meierkort reporter

    Zu dem zweiten Punkt: Kein Zoomen nach öffnen des GFI Fensters. Soll das überhaupt passieren? Bug oder Feature?

  4. Laura Meierkort reporter

    Zu Punkt 3: Meldung: “Given coordinates must be of type integer! Although it might not break, something went wrong and needs to be checked!”

    Diese Meldung taucht in allen Browsern bei der Suche nach Adressen, Straßen oder Stadtteilen auf. Dies scheint aber daran zu liegen, dass die Koordinaten nicht vom Typ Integer sind.

    setCenter: function (coords, zoomLevel) {
      let first2Coords = [coords[0], coords[1]];
    
      // Coordinates need to be integers, otherwise open layers will go nuts when you attempt to pan the
      // map. Please fix this at the origin of those stringified numbers. However, this is to adress
      // possible future issues:
      if (typeof first2Coords[0] !== "number" || typeof first2Coords[1] !== "number") {
        console.warn("Given coordinates must be of type integer! Although it might not break, something went wrong and needs to be checked!");
        first2Coords = first2Coords.map(singleCoord => parseInt(singleCoord, 10));
      }
      ...
    },
    

    Somit handelt es sich hier also nicht um ein Problem am Code.

  5. Sven Junker-Beyel

    Scheint ein Bug zu sein.

    Das die Karte zentriert wird, lässt sich mit dem Parameter "centerMapToClickPoint": true, am gfi konfigurieren. das Zoomen ist wohl kaputt.

  6. Laura Meierkort reporter

    Der Pull Request zu diesem Bug (https://bitbucket.org/geowerkstatt-hamburg/masterportal/pull-requests/2513/enable-zooming-for-hits-with-own) ermöglicht das zoomen auch für Ergebnisse mit triggerEvent.

    ABER: Die Koordinaten der Feature für den Krankenhaus Layer (und auch für die Schul und Kita Layer) sind fehlerhaft. Für ein Krankenhaus Feature sehen diese z.B.: wie folgt aus: hit.coordinate = [577058.577, 5938151.951, 0]

    durch die “0” am Ende hat das Koordinaten Array die falsche Länge für eine Punkt Koordinate, nämlich 3 statt 2.

  7. Log in to comment