Zum Hauptinhalt springen

Austragungsort-Karten

SportsPress zeigt eine interaktive Karte auf Austragungsort-Archivseiten und auf einzelnen Begegnungsseiten an, wenn der Begegnung ein Austragungsort zugewiesen ist. Die Karte wird mithilfe von OpenStreetMap-Kacheln über die Leaflet-JavaScript-Bibli…

Heute aktualisiert

Austragungsort-Karten

SportsPress zeigt eine interaktive Karte auf Austragungsort-Archivseiten und auf einzelnen Begegnungsseiten an, wenn der Begegnung ein Austragungsort zugewiesen ist. Die Karte wird mithilfe von OpenStreetMap-Kacheln über die Leaflet-JavaScript-Bibliothek gerendert, die im SportsPress-Kern-Plugin gebündelt ist.

Anzeige von Karten

Das Kartensystem verwendet einen WordPress-Action-Hook, sp_venue_show_map, der aus dem Template venue-map.php mit den Argumenten Breitengrad, Längengrad, Adresse, Zoomstufe und Kartentyp des Austragungsorts aufgerufen wird. Das OpenStreetMap-Modul (im Kern-Plugin unter includes/sportspress/modules/sportspress-openstreetmap.php gebündelt) hängt sich in diese Aktion ein und rendert die Karte.

Eine Karte wird nur angezeigt, wenn sowohl Breitengrad als auch Längengrad am Austragungsort gesetzt sind. Wenn Koordinaten fehlen, wird keine Karte gerendert.

Wo Karten erscheinen

  • Austragungsort-Archivseiten — Die Karte erscheint oben auf der Seite, wenn ein Besucher die öffentliche URL eines Austragungsorts aufruft (z. B. /austragungsort/old-trafford/).

  • Begegnungsseiten — Wenn einer Begegnung ein Austragungsort mit Koordinaten zugewiesen ist, rendert der Austragungsort-Abschnitt der Begegnungsseite eine Karte.

  • Shortcode — Der Shortcode [event_venue] enthält die Karte, wenn die Begegnung einen kartierten Austragungsort hat.

Karteneinstellungen

Kartenzeigeoptionen finden Sie unter Begegnungen > Einstellungen im Abschnitt Austragungsorte:

  • Austragungsort-Karte (sportspress_event_show_maps) — Kontrollkästchen zum globalen Aktivieren oder Deaktivieren der Austragungsort-Kartenanzeige. Standard: ein.

  • Typ (sportspress_map_type) — Wählen Sie die Kachelquelle:

    • Standard (ROADMAP) — Standard-OpenStreetMap-Straßenkartenkacheln von tile.openstreetmap.org

    • Satellit (SATELLITE) — Satellitenbildkacheln von ArcGIS Online (Esri World Imagery)

  • Zoom (sportspress_map_zoom) — Ganzzahliger Zoomgrad, Bereich 0–21. Standard: 15. Höhere Werte zoomen weiter hinein (Straßenebene), niedrigere Werte zoomen heraus (Kontinentebene).

Diese Einstellungen werden vom Template venue-map.php gelesen und an die Aktion sp_venue_show_map übergeben.

Austragungsort-Koordinaten

Koordinaten werden pro Austragungsort in der WordPress-Optionstabelle gespeichert:

  • Breitengrad — Gespeichert als sp_latitude im Options-Array taxonomy_<term_id>

  • Längengrad — Gespeichert als sp_longitude im Options-Array taxonomy_<term_id>

Um Koordinaten zu setzen, bearbeiten Sie den Austragungsort unter Begegnungen > Austragungsorte und ziehen Sie den Kartenmarker an den Standort des Austragungsorts, oder geben Sie dezimale Gradwerte direkt in die Felder Breitengrad und Längengrad ein.

Details zum OpenStreetMap-Rendering

Der Leaflet-Kartencontainer wird als 320px-hohes div gerendert, das einen Anker-Tag umhüllt, der zur entsprechenden Google Maps-Seite für die Koordinaten verlinkt. Die Karte wird mit deaktiviertem Schwenken, Touch-Zoom, Doppelklick-Zoom und Scroll-Rad-Zoom initialisiert — die Karte ist nur zur Anzeige, nicht interaktiv.

An den gespeicherten Koordinaten wird ein Standard-Pin-Marker platziert.

Für Satellitenbilder kommen Kacheln vom ArcGIS Online World Imagery-Dienst. Für den Standard-Typ (Straßenkarte) kommen Kacheln vom öffentlichen OpenStreetMap-Kachelserver.

Google Maps-Integration

Das SportsPress Pro-Plugin enthält ein Modul SportsPress Google Maps Integration (includes/sportspress-google-maps/). Wenn dieses Modul aktiv ist, entfernt es den OpenStreetMap-Handler aus dem Hook sp_venue_show_map und ersetzt ihn durch einen Google Maps-Iframe-Renderer.

Das Google Maps-Modul rendert die Karte als <iframe>, der eine Google Maps-Kachel über tboy.co/maps_embed (ein Proxy für die Google Maps Embed API) einbettet. Der Iframe ist 600×320 Pixel groß. Ein Overlay-Anker verlinkt auf die vollständige Google Maps-Seite für die Adresse.

Das Google Maps-Modul fügt dem Begegnungseinstellungsbildschirm keine eigenen Einstellungen hinzu; es verwendet dieselben Einstellungen sportspress_map_zoom und sportspress_map_type wie das OpenStreetMap-Modul. Es ist immer nur ein Karten-Renderer aktiv: Google Maps ersetzt OpenStreetMap, wenn das Modul geladen wird.

Hat dies deine Frage beantwortet?