Contao-Camp 2024
Ergebnis 1 bis 37 von 37

Thema: Umkreissuche funktioniert nicht

  1. #1
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard Umkreissuche funktioniert nicht

    Hallo zusammen,

    verwende MM 2.1 unter C 4.9.
    Ja ich weiß, ich bräuchte MM 2.2. Aber da ich mit dem Projekt kein Geld verdiene muss es eben 2.1 sein

    Gibt es jemanden wo die Umkreissuche unter C 4.9 funktioniert?

    Wenn ja ist die Auflösung in der URL nach ausgelöstem Filter so richtig:
    Code:
    umkreissuche/geo_lat/Bissierstrasse%202%20a,%2079114%20Freiburg/geo_lat_range/2.html
    Oder müssten da Koordinaten stehen?

    Der API-Token im "Filter" = Google Maps API Key (der auch in den Systemeinstellungen eingetragen wird)?
    Geändert von marcohe (26.03.2022 um 13:29 Uhr)

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    MM 2.1 unter C4.4 habe ich natürlich nicht im Einsatz ;-)
    ... sollte aber keine Probleme machen.

    Die Adressangabe ist schon soweit korrekt - den Google (oder OSM) Account benötigst Du je genau dafür, um aus der Adresse die Lat/Long-Werte für die Berechnung Dir geben zu lassen.

    z.B. https://www.naturpark-duemmer.de/nat...e_range/5.html

    Mit ensprechender Einstellung, kann man auch direkt mit den Koordinaten arbeiten z.B. wenn man sich die per JS vom Handy ermittelt.

    Zur Frage: der API-Token ist der, den Du über den Developer-Zugang anlegen musst und der z.B. auch bei der Erweiterung dlh_googlemap verwendet wird.

    Alternativ kannst Du auch OSM verwenden - da brauchts kein Token ... Du kannst auch mehrere Abfragen einstellen; die werden nacheinander abgearbeitet bis einer was zurück meldet.

    Also: ich vermute ein Fehler in den Einstellungen...

  3. #3
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Gut :-) Nehme mir nochmal die Einstellungen vor!

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    mit "Einstellungen" meine ich auch den API-Key... das ist m.E. nicht immer ganz zu blicken, was Google da von einem will

  5. #5
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Das blicke ich auch nicht. Zumindest bekomm ich mit dem Key den Marker auf die Karte. Aber ob der auch die Adresse in Koordinaten umwandeln kann *großes Fragezeichen*

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    könntest mal dumpen was hier raus kommt https://github.com/MetaModels/filter...leMaps.php#L68

    oder die URL im Browser aufmachen - siehe https://github.com/MetaModels/filter...leMaps.php#L36

    PHP-Code:
    https://maps.googleapis.com/maps/api/geocode/json?key=<API-KEY>&address=13467%20Berlin&sensor=false&language=de 
    ... natürlich Dein Key eintragen ;-)

    Erfolgreiche Abfragen werden in einer Tabelle gecached - da könntest Du auch mal gucken.

  7. #7
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Das mach ich. Guter Tipp.
    Aber bevor ich da weitermache -> hat der Filter einfluss auf die dsgvo bzgl. Datenübermittlung an Google?

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    guck dir die URL an - die sendet der Server an Google... steht da was von dir drinn? ;-)

  9. #9
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    {
    "error_message" : "The provided API key is invalid. ",
    "results" : [],
    "status" : "REQUEST_DENIED"
    }

    Abfrage nicht erfolgreich. Also liegts an API. Komisch das die Marker ausgegeben werden. Werde mich nochmal mit der Google Cloud Plattform beschäftigen, irgendwo fehlt bestimmt ein Haken bei dem entsprechenden Service…

  10. #10
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    das sind zwei verschiedene Paar Schuhe... Du brauchst für den Filter das Geocoding (Adresse => Lat/Long) siehe https://developers.google.com/maps/d...oding/overview

    Anzeige in Map ist was anderes!

    Für die Abstandsberechnung benötigt man Lat/Long - die Formel kann mit der Adresse an sich nix anfangen ;-9

  11. #11
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Läuft jetzt. In der Cloud Console war Geocoding API nicht aktiviert.

  12. #12
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Hinweis: es gibt noch das Attribut geodistance - damit wird der Abstand zum Suchpunkt ermittelt und der Wert kann dann in eine Sortierung einfließen z. B. "nach Abstand aufsteigend"

  13. #13
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Für meinen Fall wäre noch interessant unter einer „Detailseite“ eine Liste mit Einträgen „in der Nähe“ anzuzeigen.
    Bisher Filtere ich die Einträge über PLZ, Stadt und Stadtteil. Müsste eigentlich gehen… muss nur mal schauen wie ich das an den Umkreisfilter übergeben kann.

    https://www.freiburg-info.de/freizei...-freiburg.html

  14. #14

  15. #15
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    sowas geht - z. B. https://www.hauspost.de/sehenswuerdi...etterwald.html (ganz nach unten scrollen)
    So stell ich mir das vor. Super :-)

  16. #16
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    sowas geht - z. B. https://www.hauspost.de/sehenswuerdi...etterwald.html (ganz nach unten scrollen)
    Doch noch mal Fragen ;-)

    1.) Wie kann ich die Koordinaten von, in dem Fall, Schweriner Kletterwald an den Filter übergeben? Kannst mir da einen Tipp geben?
    2.) In den Filtereinstellungen zur Umkreissuche gibt es das Feld URL-Parameter. Für was könnte das Feld nützlich sein?

  17. #17
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    zu 1: da gibt es recht verschiedene Möglichkeiten wie man das machen kann... ich habe mir einen "MM-Helper" geschrieben, mit dem ich die Sachen abfragen kann - dort wird über die MM-API die Items gefiltert nach Umkreis abgefragt; über addFilterRule kannst Du "MetaModels\FilterPerimetersearchBundle\FilterRule s\Perimetersearch" als Regel zu den anderen Regeln des Filters (wie z. B. Veröffentlicht) hinzufügen.

    Etwas "dirty": ein eigenes FE-Modul für die zusätzliche Liste, welches als CE eingebunden wird - Parameter kann man bei FE-Modulen per "$_GET['xy']" ans Modul "like URL" übergeben (nach dem Aufruf wieder entfernen!).


    zu 2: der "URL-Parameter" ist wie bei allen Filterregeln zum Überschreiben des Filter-Key in der URL - Standard ist der Key der Spaltenname des Attributes, kann aber auch überschiebenen werden - wichtig z. B. bei Textsuche über mehrere Felder

  18. #18
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Ok. Danke für den Tip. Werde ich versuchen.
    Und im Atrribut geodistance werden GET Parameter für die Adresse benötigt.
    Wie hast du das gelöst? Ich möchte mir ja nicht die URL verunstalten und die in die URL packen ;-)

  19. #19
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Und im Atrribut geodistance werden GET Parameter für die Adresse benötigt.
    * bei entsprechender Konfiguration muss Du die Adressse nicht nochmal auflösen sondern kannst direkt mit lat/long arbeiten
    * wie geschrieben: Du kannst URL-Parameter für Contao per $_GET "faken"

  20. #20
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    * bei entsprechender Konfiguration muss Du die Adressse nicht nochmal auflösen sondern kannst direkt mit lat/long arbeiten
    * wie geschrieben: Du kannst URL-Parameter für Contao per $_GET "faken"
    Gut. Ja geo_lat / geo_long liegen ja in der anderen Liste / Template der selben Seite. Diese Information muß aber trotz nicht notwendiger Adressauflösung ins Feld "GET-Parameter für Adresse"?

    Bei "LookUp Services" dann Koordinateneingabe einstellen.

  21. #21
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    so "ferndiagnostisch" ist das schwer zu beantworten - wenn Du zum Camp kommst, könnte man da ggf. mal drüber gucken...

  22. #22
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    so "ferndiagnostisch" ist das schwer zu beantworten - wenn Du zum Camp kommst, könnte man da ggf. mal drüber gucken...
    Das würd ich gern. Die Zeit fehlt

  23. #23
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    muss man Prioritäten setzen ;-)

  24. #24
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Mal das alte Thema wieder hochholen

    Im den Einstellungen zum Attribut Geo-Entfernung habe ich das Eingabefeld GET-Parameter.
    Hier muss doch bestimmt der Punkt rein, zu dem die Entfernung berechnet werden soll?

    Die Koordinaten dieses Punktes stehen mir als GET-Parameter (laengengrad / breitengrad) zur Verfügung.
    Kommen die GET-Parameter nun Kommasepariert in das Eingabefeld siehe Screenshot? Ist das irgendwo dokumentiert?

    Bildschirmfoto 2023-12-13 um 16.52.39.png
    Geändert von marcohe (13.12.2023 um 17:40 Uhr)

  25. #25
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Im den Einstellungen zum Attribut Geo-Entfernung habe ich das Eingabefeld GET-Parameter.

    A: Hier muss doch bestimmt der Punkt rein, zu dem die Entfernung berechnet werden soll?

    B: Die Koordinaten dieses Punktes stehen mir als GET-Parameter (laengengrad / breitengrad) zur Verfügung.

    C: Kommen die GET-Parameter nun Kommasepariert in das Eingabefeld siehe Screenshot?

    D: Ist das irgendwo dokumentiert?
    zu A: primär: Nein! hier sollte eine Adressenangabe rein wie "10000 Weihnachtshausen, Nordpol" oder nur "13584 Berlin" - der GET-Parameter sollte in den meisten Fällen so sein, wie der URL-Parameter der Filterregel Umkreissuche; ohne die, macht die Geoentfernung wenig Sinn... ... die Sortierung der Liste sollte dann auf das Attribut umgestellt werden

    zu B: bei den Lookup-Services kann man mehrere Sachen angeben, die nacheinander abgearbeitet werden - wenn Du hier schon Lat/long hast, z. B. durch Abfrage der Positionsdaten eines Mobilgerätes per JS, dann als erstes den Typ "Koordinateneingabe" und dann die Auflösungsservices

    zu C: wenn Koordinaten, ja <lat>,<long>

    zu D: glaube nicht - habe bisher nur das https://metamodels.readthedocs.io/de...tersearch.html - kann gern erweitert werden (siehe Github-Link oben rechts) oder meine Zeitvorleistung ausgleichen, dann könnte auf Wunsch auch dazu mehr Text kommen

  26. #26
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    zu C: wenn Koordinaten, ja <lat>,<long>
    Bildschirmfoto 2023-12-13 um 21.28.40.png
    Dann sollte sich ja so etwas tun (API-Token habe ich fürs Bild mal rausgenommen) Oder hat sich noch iwo ein Fehler eingeschlichen?

  27. #27
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    k. A. - ab 03.01. gehts regulär weiter

    ... der Berg ruft (nach mir)

  28. #28
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Bildschirmfoto 2023-12-13 um 21.28.40.png
    Dann sollte sich ja so etwas tun (API-Token habe ich fürs Bild mal rausgenommen) Oder hat sich noch iwo ein Fehler eingeschlichen?
    Hab mir den Screenshot angesehen - ich kann mir nicht vorstellen, dass dein URL Parameter so aussieht - siehe A

    Gruß von der A9

  29. #29
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    Hab mir den Screenshot angesehen - ich kann mir nicht vorstellen, dass dein URL Parameter so aussieht - siehe A
    Gruß von der A9
    Ich will ja keine Parameter in der URL haben.
    In dem Beispiel habe ich die Parameter so gesetzt
    PHP-Code:
    <?php
     
    \Input::setGet('breitengrad'$arrItem['text']['geo_lat']);
     \
    Input::setGet('laengengrad'$arrItem['text']['geo_long']);
    ?>
    Könnte natürlich auch eine Adresse sein aber ich dachte es ist einfacher gleich mit Koordinaten zu arbeiten.

    Aber das hat Zeit.
    Schönen Bergurlaub
    Geändert von marcohe (14.12.2023 um 13:31 Uhr)

  30. #30
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Ok - eigentlich ist die Geodistance zum Sortieren der über die Umkreissuche gefilterten Ergebnisse nach Abstand - aber so gehts wohn auch…

  31. #31
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    Ok - eigentlich ist die Geodistance zum Sortieren der über die Umkreissuche gefilterten Ergebnisse nach Abstand - aber so gehts wohn auch…
    In dem Fall möchte ich das so wie in deinem Beispiel https://www.hauspost.de/sehenswuerdi...etterwald.html
    D.h. die GET-Parameter werden im template (in dem Fall Schweriner Kletterweld) gesetzt und die darunter liegenden Liste soll diese im attribut geodistance verarbeiten.

  32. #32
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Das läuft alles über EIN Feld!

    Setze mal bei GET-Parameter z. B. den Wert „address“ ein und dann den selben Parameter für die Übergabe von Lat/Long als kommaseparierte Werte

    Code:
    <?php 
    \Input::setGet('address', $arrItem['text']['geo_lat'] . ',' . $arrItem['text']['geo_long']); 
    ?>

  33. #33
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Immer gleich bleibende Qualität selbst am Händi
    Die Entfernung ist Luftlinie oder? Es wird nämlich immer ein paar hundert Meter weniger angezeigt als die Routenplanung in Google Maps

  34. #34
    Contao-Fan
    Registriert seit
    20.10.2014.
    Ort
    Freiburg
    Beiträge
    477

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Die Entfernung ist Luftlinie oder?
    Habs gefunden. Berechnung mit Haversine-Formel

  35. #35
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    Korrekt - Luftlinie, aber geosphärisch, also mit Einberechnung der Erdkrümmung

  36. #36

  37. #37

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •