Add new building support
This commit is contained in:
parent
4d5170373f
commit
6f921380bd
@ -1,5 +1,6 @@
|
|||||||
### Change Log for Node-RED Worldmap
|
### Change Log for Node-RED Worldmap
|
||||||
|
|
||||||
|
- v1.1.13 - Add ability to set a building using a GeoJSON Feature set. {name:"MyTower":building:{...feature sets...}}
|
||||||
- v1.1.12 - README changes, split out CHANGELOG.md
|
- v1.1.12 - README changes, split out CHANGELOG.md
|
||||||
- v1.1.11 - fix websocket multiple connections
|
- v1.1.11 - fix websocket multiple connections
|
||||||
- v1.1.9 - add ability to add geoJSON layers
|
- v1.1.9 - add ability to add geoJSON layers
|
||||||
|
37
README.md
37
README.md
@ -65,6 +65,43 @@ There are also several special icons...
|
|||||||
- **unknown** : pseudo NATO style yellow square.
|
- **unknown** : pseudo NATO style yellow square.
|
||||||
- **earthquake** : black circle - diameter proportional to `msg.mag`.
|
- **earthquake** : black circle - diameter proportional to `msg.mag`.
|
||||||
|
|
||||||
|
### Buildings
|
||||||
|
|
||||||
|
The OSM Buildings layer is available in the layers menu. You can replace this with a building of your own by
|
||||||
|
sending a msg.payload containing a name and a building property. The building property should be
|
||||||
|
a GeoJSON Feature Collection as per the OSMBuildings spec.
|
||||||
|
|
||||||
|
{ name:"My Block", building: {
|
||||||
|
"type": "FeatureCollection",
|
||||||
|
"features": [
|
||||||
|
{
|
||||||
|
"type": "Feature",
|
||||||
|
"properties": {
|
||||||
|
"wallColor": "rgb(0,0,255)",
|
||||||
|
"roofColor": "rgb(128,128,255)",
|
||||||
|
"height": 50,
|
||||||
|
"minHeight": 0,
|
||||||
|
"piso": 0
|
||||||
|
},
|
||||||
|
"geometry": {
|
||||||
|
"type": "Polygon",
|
||||||
|
"coordinates": [
|
||||||
|
[
|
||||||
|
[-1.398163, 51.026591],
|
||||||
|
[-1.397781, 51.026597],
|
||||||
|
[-1.397751, 51.025430],
|
||||||
|
[-1.398148, 51.025427],
|
||||||
|
[-1.398163, 51.026591]
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
] }
|
||||||
|
}
|
||||||
|
|
||||||
|
**Note**: the object you supply will replace the whole buildings layer. To delete the building send a msg with a name and the building property set to "" (blank string).
|
||||||
|
|
||||||
|
|
||||||
### Areas and Lines
|
### Areas and Lines
|
||||||
|
|
||||||
If the payload contains an **area** property - that is an array of co-ordinates, e.g.
|
If the payload contains an **area** property - that is an array of co-ordinates, e.g.
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "node-red-contrib-web-worldmap",
|
"name": "node-red-contrib-web-worldmap",
|
||||||
"version": "1.1.12",
|
"version": "1.1.13",
|
||||||
"description": "A Node-RED node to provide a web page of a world map for plotting things on.",
|
"description": "A Node-RED node to provide a web page of a world map for plotting things on.",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"express": "^4.16.3",
|
"express": "^4.16.3",
|
||||||
|
@ -743,6 +743,19 @@ function setMarker(data) {
|
|||||||
opt.clickable = (data.hasOwnProperty("clickable")) ? data.clickable : false;
|
opt.clickable = (data.hasOwnProperty("clickable")) ? data.clickable : false;
|
||||||
opt.fill = (data.hasOwnProperty("fill")) ? data.fill : true;
|
opt.fill = (data.hasOwnProperty("fill")) ? data.fill : true;
|
||||||
|
|
||||||
|
// Replace building
|
||||||
|
if (data.hasOwnProperty("building")) {
|
||||||
|
if ((data.building === "") && layers.hasOwnProperty("buildings")) {
|
||||||
|
map.removeLayer(layers["buildings"]);
|
||||||
|
layercontrol._update();
|
||||||
|
layers["buildings"] = overlays["buildings"].set("");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
//layers["buildings"] = new OSMBuildings(map).set(data.building);
|
||||||
|
layers["buildings"] = overlays["buildings"].set(data.building);
|
||||||
|
map.addLayer(layers["buildings"]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
var lay = data.layer || "unknown";
|
var lay = data.layer || "unknown";
|
||||||
if (typeof layers[lay] == "undefined") { // add layer if if doesn't exist
|
if (typeof layers[lay] == "undefined") { // add layer if if doesn't exist
|
||||||
//layers[lay] = new L.LayerGroup().addTo(map);
|
//layers[lay] = new L.LayerGroup().addTo(map);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
CACHE MANIFEST
|
CACHE MANIFEST
|
||||||
# date: Jan 31st 2018 - v1.1.10
|
# date: May 28th 2018 - v1.1.13
|
||||||
|
|
||||||
CACHE:
|
CACHE:
|
||||||
index.html
|
index.html
|
||||||
|
Loading…
Reference in New Issue
Block a user