ezgmaplocation: ein Datentyp für Kartenstandorte
Diese Seite ist für Website-Entwickler, die an Inhalten Orte speichern, etwa Büros, Veranstaltungen oder Benutzer.
ezgmaplocation ist ein Datentyp, der an einem Objekt einen Breiten- und Längengrad (Dezimalgrad) speichert. Der
Redakteur findet den Punkt, indem er unter einer Google-Karte eine Adresse eingibt. Die Adresse wird mit den Koordinaten
gespeichert und ist durchsuchbar.
Einrichten
- Besorgen Sie einen API-Schlüssel für die Google Maps JavaScript API und setzen Sie ihn in
ezgmaplocation.ini [GMapSettings] ApiKey=<key>(insettings/override/oder pro Siteaccess). Mit einem leeren Schlüssel laden das Bearbeitungsformular und die Ansicht kein Google-Skript und zeigen die Koordinaten ohne Karte; eine Website, die eine Content Security Policy sendet, muss die Hosts von Google erlauben. - Aktivieren Sie die Extension und erzeugen Sie die Extension-Autoloads neu:
php bin/php/ezpgenerateautoloads.php -e. - Legen Sie die Tabelle
ezgmaplocationausextension/ezgmaplocation/sql/<engine>/an (ein SQLite-Schema wird seit 6.0.3 mitgeliefert). - Fügen Sie einer Klasse den Datentyp Google Maps Location hinzu.
Einen Standort bearbeiten
- Geben Sie unter der Karte eine Adresse ein und drücken Sie Find address: Die Karte zentriert sich darauf, und die Felder für Breiten- und Längengrad werden ausgefüllt.
- Verfeinern Sie, indem Sie die Markierung ziehen oder auf die Karte klicken; die Koordinaten folgen, und das Adressfeld wird geleert. Restore stellt den zuvor gespeicherten Standort wieder her, und My current location verwendet die Position des Browsers.
Beispiel: Objekte in der Nähe eines Punktes finden
Der enthaltene Filter holt nach Entfernung, sortiert nach Nähe:
{def $users_close_by = fetch( 'content', 'tree', hash(
'parent_node_id', 12,
'limit', 3,
'sort_by', array( 'distance', true() ),
'class_filter_type', 'include',
'class_filter_array', array( 'user' ),
'extended_attribute_filter', hash( 'id', 'ezgmlLocationFilter',
'params', hash( 'latitude', 59.917,
'longitude', 10.729,
'distance', 0.5 ) ) ) )}Grenzen
- Der Entfernungsfilter verwendet für die SQL-Geschwindigkeit ein umschließendes Rechteck.
classes/ezgmllocationfilter.phpdokumentiert die Parameter, die echte kreisförmige Genauigkeit („arccosine“) oder eine nähere Annäherung daran („pythagorean“) ergeben. Die Sortierung ist genau. - Um die Entfernung anzuzeigen („2,5 km entfernt“), verwenden Sie den Parameter
arccosinemitas_object,false(), um einen Wert zu erhalten, aus dem sie sich berechnen lässt.
Was sich in den Releases von Exponential 6 geändert hat
| Version | Änderung |
|---|---|
| 6.0.2 | Die Normalisierung von Breiten- und Längengrad funktioniert mit der strengeren Behandlung von implode() in PHP 8.5. |
| 6.0.3 | SQLite-Schema für die Standorttabelle; ezinfo.php gibt Version, Lizenz und Website an. |
| 6.0.4 | Jeder sichtbare Text ist ein Übersetzungstext mit Deutsch; die beiden JavaScript-Hinweise kommen aus übersetzten Meldungen mit Platzhaltern. |
| 6.0.5, 6.0.6 | Die Beschreibung nennt Exponential; die Copyright-Hinweise nennen zuerst 1998 - 2026 7x & Exponential Foundation. |
Verwandte Seiten
- Spezifikation der Extension-Metadaten
- Chronik und Versionshinweise
- Änderungsverzeichnis
- Verhaltensänderungen der Extensions
- Monate: 2026-04, 2026-09 (alle Extensions)
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.