[GIS] Changing default style on point GeoJSON Layer in Leaflet

geojsonleafletstyle

I need to change style on a point GeoJSON layer in a Leaflet map.

I'm using the following code:

function onEachFeature(feature, layer) {
                      if (feature.properties && feature.properties.popupContent) {
                         layer.bindPopup(feature.properties.popupContent);
                      }
                     }

var myStyle = {
 "color": "#ff7800",
 "weight": 5,
 "opacity": 0.65
};

myGeoJSONLayer = L.geoJson(myGeoJSON, {
                      style: myStyle,
                      onEachFeature: onEachFeature,
             });

myGeoJSONLayer.addTo(map);                         

All is working but there is always the standard default blue marker on my map.

Best Answer

To change point markers, you should use the pointToLayer function. See the example page.

var geojsonMarkerOptions = {
    radius: 8,
    fillColor: "#ff7800",
    color: "#000",
    weight: 1,
    opacity: 1,
    fillOpacity: 0.8
};

L.geoJson(someGeojsonFeature, {
    pointToLayer: function (feature, latlng) {
        return L.circleMarker(latlng, geojsonMarkerOptions);
    }
}).addTo(map);