Du bist mit "featureData" auf der richtigen Spur. Die Erweiterung macht folgendes:
- Marker werden als GeoJSON Objekt übermittelt
- Mittels "featureData" können die GeoJSON Properties angereichert werden. Das Eingabeformat ist hier JSON
- Im Marker-Layer kann ein angepasster Callback angegeben werden, der die Standardfunktion, wie aus dem GeoJSON Feature ein Marker wird, erweitert wird
Dies auf deinen Anwendungsfall übertragen, musst du folgendes machen:
1. Im Marker-Layer als pointToLayer expression folgendes eingeben:
Code:
function (geoJsonPoint, latlng) {
// Erstelle einen Marker anhand der Standard-Routine der Contao-Leaflet Erweiterung
var marker = L.contao.pointToLayer(geoJsonPoint, latlng);
// Falls in den GeoJSON Properties ein Link gesetzt ist, füge ein Click-Event hinzu
if (geoJsonPoint.properties.data !== undefined && geoJsonPoint.properties.data.href !== undefined) {
marker.on('click', function () {
window.location.href = geoJsonPoint.properties.data.href;
})
}
return marker;
}
2. Im Marker unter "featureData" den Link definieren
Code:
{
"href": "https://contao.rocks"
}