better geojson marker handling

pull/145/head
Dave Conway-Jones 4 years ago
parent 7de292d666
commit c4d020cea1
No known key found for this signature in database
GPG Key ID: 302A6725C594817F

@ -1,6 +1,6 @@
### Change Log for Node-RED Worldmap
- v2.3.12 - Fix geoson feature properties fill color
- v2.3.13 - Fix geoson feature properties fill color, and better marker handling
- v2.3.11 - Better editing of drawing layer, add OpenTopoMap, and better Esri satellite
- v2.3.10 - Improve geojson layer and name handling.
- v2.3.8 - Fix fa-marker offset to improve accuracy.

@ -11,7 +11,7 @@ map web page for plotting "things" on.
### Updates
- v2.3.12 - Fix geoson feature properties fill color
- v2.3.13 - Fix geoson feature properties fill color, and better marker handling
- v2.3.11 - Better editing of drawing layer, add OpenTopoMap, and better Esri satellite
- v2.3.10 - Improve geojson layer and name handling.
- v2.3.8 - Fix fa-marker offset to improve accuracy.

@ -1,6 +1,6 @@
{
"name": "node-red-contrib-web-worldmap",
"version": "2.3.12",
"version": "2.3.13",
"description": "A Node-RED node to provide a web page of a world map for plotting things on.",
"dependencies": {
"cgi": "0.3.1",

@ -2094,6 +2094,11 @@ function doGeojson(n,g,l,o) {
st.weight = feature.properties["stroke-width"] || st.weight;
st.fillColor = feature.properties["fill-color"] || feature.properties["fill"] || st.fillColor;
st.fillOpacity = feature.properties["fill-opacity"] || st.fillOpacity;
delete feature.properties["stroke"];
delete feature.properties["stroke-width"];
delete feature.properties["fill-color"];
delete feature.properties["fill"];
delete feature.properties["fill-opacity"];
}
if (feature.hasOwnProperty("style")) {
//console.log("GSTYLE", feature.style)
@ -2107,6 +2112,21 @@ function doGeojson(n,g,l,o) {
}
return st;
}}
opt.pointToLayer = function (feature, latlng) {
var myMarker = L.VectorMarkers.icon({
icon: feature.properties["marker-symbol"] || "circle",
markerColor: (feature.properties["marker-color"] || "#910000"),
prefix: 'fa',
iconColor: 'white'
});
if (!feature.properties.hasOwnProperty("title")) {
feature.properties.title = feature.properties["marker-symbol"];
}
delete feature.properties["marker-symbol"];
delete feature.properties["marker-color"];
delete feature.properties["marker-size"];
return L.marker(latlng, {title:feature.properties.title || "", icon:myMarker,});
}
opt.onEachFeature = function (f,l) {
if (f.properties) { l.bindPopup('<pre>'+JSON.stringify(f.properties,null,' ').replace(/[\{\}"]/g,'')+'</pre>'); }
}

Loading…
Cancel
Save