[Gelöst] Leaflet-Problem

Hallo,

ich versuche mich gerade an einer Darstellung von Hydranten über Leaflet.

Die Daten zu den Hydranten befinden sich in einer geojson-Datei.

Nach diesem Beispiel

https://maptimeboston.github.io/leaflet-intro/

möchte ich gern in einem Popup die Daten zum Hydranten anzeigen lassen.

Die Anzeige z. B. der “ref” funktioniert.

Soll jedoch die Position (fire_hydrant:position) angezeigt werden, funktioniert es über:

// add GeoJSON layer to the map once the file is loaded
   L.geoJson(data,{
     pointToLayer: function(feature,latlng){
       var marker = L.marker(latlng,{icon: pIcon});
       marker.bindPopup(feature.properties.fire_hydrant:position);
       return marker;
       }     
     }).addTo(map);
   });

nicht.

Es liegt wahrscheinlich am “Aufbau” von “fire_hydrant:position”. Der Doppelpunkt stört.

Wie muss “fire_hydrant:position” geschrieben werden, damit es funktioniert?

Bei meiner Recherche habe ich bislang nichts bzgl. einer Lösung finden können.

Gruß

Svalbard

Nur geraten aber schnell von dir zu testen. fire_hydrant:postition könnte klappen.

siehe http://stackoverflow.com/questions/4253367/how-to-escape-a-json-string-containing-newline-characters-using-javascript#4253415
geht hier zwar um \n aber passt doch zum Thema.

Gruss
walter

Verwende statt Punktschreibweise die Array-Schreibweise für problematische Variable-Namen:


marker.bindPopup(feature.properties['fire_hydrant:position']);

Das sollte klappen.

Hallo Walter und dooley,

mit der Lösung von dooley funktioniert es.

Eine andere Lösung, die mich per PN erreicht hat ist, in der geojson-Datei

fire_hydrant:position

durch

fire_hydrant_position

zu ersetzen.

Das funktioniert dann ebenfalls.

Vielen Dank für die schnelle Hilfe!

Gruß

Svalbard

P.S.
Wie konnte man noch mal im Titel “Gelöst” hinzusetzen?
War m. E. einfach, aber bekomme ich im Moment nicht hin …

Du gehst ganz oben in diesem Thread zu deinem 1. Beitrag.

“Bearbeiten” und dann kannst du das Subject ändern.

Gruss
walter