node-red-contrib-web-worldmap 2.21.7 → 2.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/README.md +11 -8
- package/package.json +1 -1
- package/worldmap/worldmap.js +9 -5
- package/worldmap.html +3 -2
- package/worldmap.js +3 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
### Change Log for Node-RED Worldmap
|
|
2
2
|
|
|
3
|
-
- v2.
|
|
3
|
+
- v2.22.1 - Be more tolerant of speed string types
|
|
4
|
+
- v2.22.0 - Separate out layer events in worldmap in
|
|
5
|
+
- v2.21.9 - Unbreak Drawing layer that I must have broken recently
|
|
6
|
+
- v2.21.8 - Let SIDC/icon short code be only 4 chars long
|
|
4
7
|
- v2.21.5 - Fix handling of "old" ship nav to ship navigation
|
|
5
8
|
- v2.21.4 - Fix speed leader length. Add transparentPixels option.
|
|
6
9
|
- v2.21.3 - Add zoom to bounds action. Adjust map layers max zoom levels.
|
package/README.md
CHANGED
|
@@ -11,7 +11,10 @@ map web page for plotting "things" on.
|
|
|
11
11
|
|
|
12
12
|
### Updates
|
|
13
13
|
|
|
14
|
-
- v2.
|
|
14
|
+
- v2.22.1 - Be more tolerant of speed string types
|
|
15
|
+
- v2.22.0 - Separate out layer events in worldmap in
|
|
16
|
+
- v2.21.9 - Unbreak Drawing layer that I must have broken recently
|
|
17
|
+
- v2.21.8 - Let SIDC/icon short code be only 4 chars long
|
|
15
18
|
- v2.21.5 - Fix handling of "old" ship nav to ship navigation
|
|
16
19
|
- v2.21.4 - Fix speed leader length. Add transparentPixels option..
|
|
17
20
|
- v2.21.3 - Add zoom to bounds action. Adjust map layers max zoom levels.
|
|
@@ -29,13 +32,6 @@ map web page for plotting "things" on.
|
|
|
29
32
|
- v2.16.3 - Ensure polygons can be deleted.
|
|
30
33
|
- v2.16.2 - Better handling of unpacked kmz objects.
|
|
31
34
|
- v2.16.0 - Allow specifying custom base map server.
|
|
32
|
-
- v2.15.8 - Adjust ui check timing for UI worldmap.
|
|
33
|
-
- v2.15.7 - Tidy up geoJson handling a bit more.
|
|
34
|
-
- v2.15.5 - Fix SIDC icons to accept unicoded icons as labels.
|
|
35
|
-
- v2.15.4 - Let clear heatmap command do what it says.
|
|
36
|
-
- v2.15.3 - Fix panit command to work, try to use alt units, popup alignments.
|
|
37
|
-
- v2.15.0 - Let speed be text and specify units if required (kt,kn,knots,mph,kmh,kph) default m/s.
|
|
38
|
-
- v2.14.0 - Let geojson features be clickable if added as overlay.
|
|
39
35
|
|
|
40
36
|
- see [CHANGELOG](https://github.com/dceejay/RedMap/blob/master/CHANGELOG.md) for full list of changes.
|
|
41
37
|
|
|
@@ -464,6 +460,13 @@ Or with an input box
|
|
|
464
460
|
contextmenu: '<input name="slide1" type="range" min="1" max="100" value="50" onchange=\'feedback(this.name,this.value,"myEventName")\' >'
|
|
465
461
|
}
|
|
466
462
|
|
|
463
|
+
Example simple form
|
|
464
|
+
|
|
465
|
+
```
|
|
466
|
+
[{"id":"7351100bacb1f5fe","type":"function","z":"4aa2ed2fd1b11362","name":"","func":"msg.payload = { command: {\ncontextmenu: String.raw`\nText <input type=\"text\" id=\"sometext\" value=\"hello\"><br/>\nNumber <input type=\"number\" id=\"somenum\" value=\"5\"><br/>\n<input type=\"button\" value=\"Send\" onclick=\n'feedback(\"myform\",{\n \"st\":document.getElementById(\"sometext\").value,\n \"sn\":document.getElementById(\"somenum\").value,\n})'\n>\n`\n}}\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":350,"y":360,"wires":[["a6a82f2e8efc44fc"]]},{"id":"7b595f0c8f6ac710","type":"worldmap in","z":"4aa2ed2fd1b11362","name":"","path":"/worldmap","events":"connect","x":195,"y":360,"wires":[["7351100bacb1f5fe"]]}]
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
|
|
467
470
|
See the section on **Utility Functions** for details of the feedback function.
|
|
468
471
|
|
|
469
472
|
#### To add and remove a legend
|
package/package.json
CHANGED
package/worldmap/worldmap.js
CHANGED
|
@@ -28,7 +28,10 @@ var heat;
|
|
|
28
28
|
var minimap;
|
|
29
29
|
var sidebyside;
|
|
30
30
|
var layercontrol;
|
|
31
|
+
var drawControl;
|
|
31
32
|
var drawingColour = "#910000";
|
|
33
|
+
var sendRoute;
|
|
34
|
+
var sendDrawing;
|
|
32
35
|
|
|
33
36
|
var iconSz = {
|
|
34
37
|
"Team/Crew": 24,
|
|
@@ -653,7 +656,8 @@ map.on('moveend', function() {
|
|
|
653
656
|
//});
|
|
654
657
|
|
|
655
658
|
// single right click to add a marker
|
|
656
|
-
var addmenu = "<b>Add marker</b><br><input type='text' id='rinput' autofocus onkeydown='if (event.keyCode == 13) addThing();' placeholder='name (,icon, layer, colour, heading)'/>";
|
|
659
|
+
var addmenu = "<b>Add marker</b><br><input type='text' id='rinput' autofocus onkeydown='if (event.keyCode == 13) addThing();' placeholder='name (,icon/SIDC, layer, colour, heading)'/>";
|
|
660
|
+
if (navigator.onLine) { addmenu += '<br/><a href="https://spatialillusions.com/unitgenerator/" target="_new">MilSymbol SIDC generator</a>'; }
|
|
657
661
|
var rightmenuMap = L.popup({keepInView:true, minWidth:250}).setContent(addmenu);
|
|
658
662
|
|
|
659
663
|
var rclk = {};
|
|
@@ -929,7 +933,7 @@ var addOverlays = function(overlist) {
|
|
|
929
933
|
overlays["drawing"] = layers["_drawing"];
|
|
930
934
|
map.options.drawControlTooltips = false;
|
|
931
935
|
var drawCount = 0;
|
|
932
|
-
|
|
936
|
+
drawControl = new L.Control.Draw({
|
|
933
937
|
draw: {
|
|
934
938
|
polyline: { shapeOptions: { clickable:true } },
|
|
935
939
|
marker: false,
|
|
@@ -995,7 +999,7 @@ var addOverlays = function(overlist) {
|
|
|
995
999
|
setTimeout(function() {map.openPopup(rightmenuMarker)},25);
|
|
996
1000
|
});
|
|
997
1001
|
|
|
998
|
-
|
|
1002
|
+
sendDrawing = function(n) {
|
|
999
1003
|
var thing = document.getElementById('dinput').value;
|
|
1000
1004
|
map.closePopup();
|
|
1001
1005
|
shape.m.name = thing;
|
|
@@ -1078,7 +1082,7 @@ var addOverlays = function(overlist) {
|
|
|
1078
1082
|
return numbers;
|
|
1079
1083
|
}
|
|
1080
1084
|
|
|
1081
|
-
|
|
1085
|
+
sendRoute = function(n) {
|
|
1082
1086
|
var p = (polygons[n]._latlngs.map(function(x) {
|
|
1083
1087
|
return x.lng+","+x.lat;
|
|
1084
1088
|
})).join(';');
|
|
@@ -1950,7 +1954,7 @@ function setMarker(data) {
|
|
|
1950
1954
|
if (data.dashArray) { delete data.dashArray; }
|
|
1951
1955
|
if (data.fill) { delete data.fill; }
|
|
1952
1956
|
if (data.draggable) { delete data.draggable; }
|
|
1953
|
-
if (!isNaN(data.speed)) { data.speed = data.speed.toFixed(2); }
|
|
1957
|
+
//if (!isNaN(data.speed)) { data.speed = data.speed.toFixed(2); }
|
|
1954
1958
|
if (data.hasOwnProperty("clickable")) { delete data.clickable; }
|
|
1955
1959
|
if (data.hasOwnProperty("fillColor")) { delete data.fillColor; }
|
|
1956
1960
|
if (data.hasOwnProperty("radius")) { delete data.radius; }
|
package/worldmap.html
CHANGED
|
@@ -604,7 +604,7 @@ If <i>Web Path</i> is left empty, then by default <code>⌘⇧m</code> - <code>c
|
|
|
604
604
|
defaults: {
|
|
605
605
|
name: {value:""},
|
|
606
606
|
path: {value:"/worldmap"},
|
|
607
|
-
events: {value:"connect,disconnect,point,bounds,files,draw,other"}
|
|
607
|
+
events: {value:"connect,disconnect,point,layer,bounds,files,draw,other"}
|
|
608
608
|
},
|
|
609
609
|
inputs:0,
|
|
610
610
|
outputs:1,
|
|
@@ -620,7 +620,7 @@ If <i>Web Path</i> is left empty, then by default <code>⌘⇧m</code> - <code>c
|
|
|
620
620
|
},
|
|
621
621
|
oneditprepare: function() {
|
|
622
622
|
if ($("#node-input-events").val() === "all") {
|
|
623
|
-
$("#node-input-events").val("connect,disconnect,point,bounds,files,draw,other");
|
|
623
|
+
$("#node-input-events").val("connect,disconnect,point,layer,bounds,files,draw,other");
|
|
624
624
|
}
|
|
625
625
|
$("#node-input-events").typedInput({type:"event", types:[{
|
|
626
626
|
value: "event",
|
|
@@ -629,6 +629,7 @@ If <i>Web Path</i> is left empty, then by default <code>⌘⇧m</code> - <code>c
|
|
|
629
629
|
{ value: "connect", label: "Connect"},
|
|
630
630
|
{ value: "disconnect", label: "Disconnect"},
|
|
631
631
|
{ value: "point", label: "Add, move, delete point"},
|
|
632
|
+
{ value: "layer", label: "Add, remove layers"},
|
|
632
633
|
{ value: "bounds", label: "Boundary change"},
|
|
633
634
|
{ value: "files", label: "File drop"},
|
|
634
635
|
{ value: "draw", label: "Drawing"},
|
package/worldmap.js
CHANGED
|
@@ -252,6 +252,9 @@ module.exports = function(RED) {
|
|
|
252
252
|
if ((node.events.indexOf("point")!==-1) && ((message.action === "point")||(message.action === "move")||(message.action === "delete") )) {
|
|
253
253
|
setImmediate(function() {node.send({payload:message, topic:node.path.substr(1), _sessionid:client.id, _sessionip:sessionip})});
|
|
254
254
|
}
|
|
255
|
+
if ((node.events.indexOf("layer")!==-1) && ((message.action === "layer") )) {
|
|
256
|
+
setImmediate(function() {node.send({payload:message, topic:node.path.substr(1), _sessionid:client.id, _sessionip:sessionip})});
|
|
257
|
+
}
|
|
255
258
|
if ((node.events.indexOf("files")!==-1) && (message.action === "file")) {
|
|
256
259
|
message.content = Buffer.from(message.content.split('base64,')[1], 'base64');
|
|
257
260
|
setImmediate(function() {node.send({payload:message, topic:node.path.substr(1), _sessionid:client.id, _sessionip:sessionip})});
|