Im obigen Template muss für die Variable "fileGeoData" der Pfad auf die Datei "mymapdata.geojson" gesetzt werden.
Der eigentliche Dateiname im Beispiel lautet demnach "mymapdata.geojson".
Erstellt also eine Datei "mymapdata.geojson" und speichert diese im Contao "files" Verzeichnis ab.
Die Datei "mymapdata.geojson":
Code:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": 10,
"name": "Signal Iduna Park",
"info": "Borussia Dortmund"
},
"geometry": {
"type": "Point",
"coordinates": [
7.451879,
51.492789
]
}
}
]
}
Das Beispiel orientiert sich wieder an den bisherigen BVB-Stadion Settings.
Unter "coordinates" setzen wir die GEO-Koordinaten.
Die "Feature-Properties" sind frei wählbar:
Im Beispiel "id", "name" und "info". Diese werden in der Funktion "getEachFeature()" des Templates genutzt:
Ändernt man hier die Einträge in der json Datei müssen diese auch in der Funktion geändert/berücksichtigt werden!
Als Ergebnis erhalten wir analog zum ersten Beispiel die Kartendarstellung mit einem Marker.
Benefit:
Der Vorteil hierbei ist: Man muss das Template selbst nicht mehr ändern.
Lediglich den Inhalt der GeoJSON Datei ...
Eine alternative GeoJSON Datei:
Code:
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"properties": {
"id": 10,
"name": "Signal Iduna Park",
"info": "Borussia Dortmund"
},
"geometry": {
"type": "Point",
"coordinates": [
7.451879,
51.492789
]
}
},
{
"type": "Feature",
"properties": {
"id": 20,
"name": "Stadion",
"info": "Rote Erde"
},
"geometry": {
"type": "Point",
"coordinates": [
7.454207,
51.493477
]
}
},
{
"type": "Feature",
"properties": {
"id": 30,
"name": "Reitanlage",
"info": "Dortmunder Reitverein e.V."
},
"geometry": {
"type": "Point",
"coordinates": [
7.449840,
51.495247
]
}
},
{
"type": "Feature",
"properties": {
"id": 40,
"name": "Messehalle",
"info": "Halle 3"
},
"geometry": {
"type": "Point",
"coordinates": [
7.454164,
51.495795
]
}
},
{
"type": "Feature",
"properties": {
"id": 50,
"name": "Westfalenhalle",
"info": "Halle 1"
},
"geometry": {
"type": "Point",
"coordinates": [
7.456859,
51.496589
]
}
}
]
}
Ergebnis: Eine Karte mit 5 Markern ohne Template Änderungen.
Formatierung der GeoJSON Datei
Ich weiss nicht ob die GeoJSON-Beispiele nach dem Kopieren über das Forum korrekt funktionieren.
Letztlich sollte man bei der Formatierung wie bei allen json Daten keine Tabs sondern Leerzeichen etc. berücksichtigen.
Am besten checkt man die Formatierung über
geojson.io!
Ist die Anzeige hier OK - dann einfach als Datei speichern ...
Lesezeichen