parent
f7c1b59a35
commit
212dc07019
@ -6,7 +6,7 @@
|
|||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
You may obtain a copy of the License at
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
Unless required by applicable law or agreed to in writing, software
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
@ -62,7 +62,7 @@
|
|||||||
|
|
||||||
<body onunload="ws.send(JSON.stringify({'action':'end'}));">
|
<body onunload="ws.send(JSON.stringify({'action':'end'}));">
|
||||||
<div id="topbar">
|
<div id="topbar">
|
||||||
<a href="http://nodered.org"><img src="images/node-red.png" width="60px" height="24px"/></a>
|
<a href="https://nodered.org"><img src="images/node-red.png" width="60px" height="24px"/></a>
|
||||||
<span class="topbar"> Node-RED - map all the things</span>
|
<span class="topbar"> Node-RED - map all the things</span>
|
||||||
</div>
|
</div>
|
||||||
<div id="results">
|
<div id="results">
|
||||||
@ -147,7 +147,7 @@ var iconSz = {
|
|||||||
|
|
||||||
// Create the socket
|
// Create the socket
|
||||||
var connect = function() {
|
var connect = function() {
|
||||||
ws = new SockJS(location.pathname + 'socket');
|
ws = new SockJS(location.pathname.split("index")[0] + 'socket');
|
||||||
ws.onopen = function() {
|
ws.onopen = function() {
|
||||||
console.log("CONNECTED");
|
console.log("CONNECTED");
|
||||||
if (!inIframe) {
|
if (!inIframe) {
|
||||||
@ -183,6 +183,14 @@ var connect = function() {
|
|||||||
console.log("CONNECT TO",location.pathname + 'socket');
|
console.log("CONNECT TO",location.pathname + 'socket');
|
||||||
connect();
|
connect();
|
||||||
|
|
||||||
|
document.addEventListener ("keydown", function (ev) {
|
||||||
|
if (ev.ctrlKey && ev.altKey && ev.code === "Digit3") {
|
||||||
|
ws.close();
|
||||||
|
window.onbeforeunload = null;
|
||||||
|
window.location.href = "index3d.html";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if ( window.localStorage.hasOwnProperty("lastpos") ) {
|
if ( window.localStorage.hasOwnProperty("lastpos") ) {
|
||||||
initialposition = true;
|
initialposition = true;
|
||||||
var sp = JSON.parse(window.localStorage.getItem("lastpos"));
|
var sp = JSON.parse(window.localStorage.getItem("lastpos"));
|
||||||
@ -552,85 +560,85 @@ map.on('locationerror', onLocationError);
|
|||||||
// Add all the base layer maps
|
// Add all the base layer maps
|
||||||
|
|
||||||
// Use this for OSM online maps
|
// Use this for OSM online maps
|
||||||
var osmUrl='http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
|
var osmUrl='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png';
|
||||||
//var osmUrl='http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png';
|
//var osmUrl='https://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png';
|
||||||
var osmAttrib='Map data © OpenStreetMap contributors';
|
var osmAttrib='Map data © OpenStreetMap contributors';
|
||||||
var osmg = new L.TileLayer.Grayscale(osmUrl, {attribution:osmAttrib, maxNativeZoom:19, maxZoom:20});
|
var osmg = new L.TileLayer.Grayscale(osmUrl, {attribution:osmAttrib, maxNativeZoom:19, maxZoom:20});
|
||||||
basemaps["OSM grey"] = osmg;
|
basemaps["OSM grey"] = osmg;
|
||||||
var osm = new L.TileLayer(osmUrl, {attribution:osmAttrib, maxNativeZoom:19, maxZoom:20});
|
var osm = new L.TileLayer(osmUrl, {attribution:osmAttrib, maxNativeZoom:19, maxZoom:20});
|
||||||
basemaps["OSM"] = osm;
|
basemaps["OSM"] = osm;
|
||||||
|
|
||||||
// Extra Leaflet map layers from http://leaflet-extras.github.io/leaflet-providers/preview/
|
// Extra Leaflet map layers from https://leaflet-extras.github.io/leaflet-providers/preview/
|
||||||
var Esri_WorldStreetMap = L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}', {
|
var Esri_WorldStreetMap = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{z}/{y}/{x}', {
|
||||||
attribution: 'Tiles © Esri', maxNativeZoom:19, maxZoom:20
|
attribution: 'Tiles © Esri', maxNativeZoom:19, maxZoom:20
|
||||||
});
|
});
|
||||||
basemaps["Esri"] = Esri_WorldStreetMap;
|
basemaps["Esri"] = Esri_WorldStreetMap;
|
||||||
|
|
||||||
var Esri_WorldImagery = L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', {
|
var Esri_WorldImagery = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}', {
|
||||||
attribution:'Tiles © Esri', maxNativeZoom:19, maxZoom:20
|
attribution:'Tiles © Esri', maxNativeZoom:19, maxZoom:20
|
||||||
});
|
});
|
||||||
basemaps["Esri Satellite"] = Esri_WorldImagery;
|
basemaps["Esri Satellite"] = Esri_WorldImagery;
|
||||||
|
|
||||||
var Esri_WorldShadedRelief = L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{z}/{y}/{x}', {
|
var Esri_WorldShadedRelief = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{z}/{y}/{x}', {
|
||||||
attribution: 'Tiles © Esri',
|
attribution: 'Tiles © Esri',
|
||||||
maxNativeZoom:13
|
maxNativeZoom:13
|
||||||
});
|
});
|
||||||
basemaps["Esri Terrain"] = Esri_WorldShadedRelief;
|
basemaps["Esri Terrain"] = Esri_WorldShadedRelief;
|
||||||
|
|
||||||
var Esri_OceanBasemap = L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/tile/{z}/{y}/{x}', {
|
var Esri_OceanBasemap = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/Ocean_Basemap/MapServer/tile/{z}/{y}/{x}', {
|
||||||
attribution: 'Tiles © Esri',
|
attribution: 'Tiles © Esri',
|
||||||
maxNativeZoom:10
|
maxNativeZoom:10
|
||||||
});
|
});
|
||||||
basemaps["Esri Ocean"] = Esri_OceanBasemap;
|
basemaps["Esri Ocean"] = Esri_OceanBasemap;
|
||||||
|
|
||||||
// var OpenMapSurfer_Roads = L.tileLayer('http://korona.geog.uni-heidelberg.de/tiles/roads/x={x}&y={y}&z={z}', {
|
// var OpenMapSurfer_Roads = L.tileLayer('https://korona.geog.uni-heidelberg.de/tiles/roads/x={x}&y={y}&z={z}', {
|
||||||
// maxZoom: 18,
|
// maxZoom: 18,
|
||||||
// attribution: 'Imagery from <a href="http://giscience.uni-hd.de/">University of Heidelberg</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
// attribution: 'Imagery from <a href="https://giscience.uni-hd.de/">University of Heidelberg</a> — Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
|
||||||
// });
|
// });
|
||||||
// basemaps["Mapsurfer"] = OpenMapSurfer_Roads;
|
// basemaps["Mapsurfer"] = OpenMapSurfer_Roads;
|
||||||
|
|
||||||
// var MapQuestOpen_OSM = L.tileLayer('http://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}', {
|
// var MapQuestOpen_OSM = L.tileLayer('https://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}', {
|
||||||
// type: 'map',
|
// type: 'map',
|
||||||
// ext: 'jpg',
|
// ext: 'jpg',
|
||||||
// attribution: 'Tiles Courtesy of <a href="http://www.mapquest.com/">MapQuest</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
|
// attribution: 'Tiles Courtesy of <a href="https://www.mapquest.com/">MapQuest</a> — Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
|
||||||
// subdomains: '1234',
|
// subdomains: '1234',
|
||||||
// maxNativeZoom: 17
|
// maxNativeZoom: 17
|
||||||
// });
|
// });
|
||||||
//basemaps["MapQuest OSM"] = MapQuestOpen_OSM;
|
//basemaps["MapQuest OSM"] = MapQuestOpen_OSM;
|
||||||
|
|
||||||
var Esri_NatGeoWorldMap = L.tileLayer('http://server.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/tile/{z}/{y}/{x}', {
|
var Esri_NatGeoWorldMap = L.tileLayer('https://server.arcgisonline.com/ArcGIS/rest/services/NatGeo_World_Map/MapServer/tile/{z}/{y}/{x}', {
|
||||||
attribution: 'Tiles © Esri',
|
attribution: 'Tiles © Esri',
|
||||||
maxNativeZoom:12
|
maxNativeZoom:12
|
||||||
});
|
});
|
||||||
basemaps["Nat Geo"] = Esri_NatGeoWorldMap;
|
basemaps["Nat Geo"] = Esri_NatGeoWorldMap;
|
||||||
|
|
||||||
var NLS_OS_opendata = L.tileLayer('http://geo.nls.uk/maps/opendata/{z}/{x}/{y}.png', {
|
var NLS_OS_opendata = L.tileLayer('https://geo.nls.uk/maps/opendata/{z}/{x}/{y}.png', {
|
||||||
attribution: '<a href="http://geo.nls.uk/maps/">National Library of Scotland Historic Maps</a>',
|
attribution: '<a href="https://geo.nls.uk/maps/">National Library of Scotland Historic Maps</a>',
|
||||||
bounds: [[49.6, -12], [61.7, 3]],
|
bounds: [[49.6, -12], [61.7, 3]],
|
||||||
minZoom:1, maxNativeZoom:18, maxZoom:18,
|
minZoom:1, maxNativeZoom:18, maxZoom:18,
|
||||||
subdomains: '0123'
|
subdomains: '0123'
|
||||||
});
|
});
|
||||||
basemaps["UK OS Opendata"] = NLS_OS_opendata;
|
basemaps["UK OS Opendata"] = NLS_OS_opendata;
|
||||||
|
|
||||||
var NLS_OS_1919_1947 = L.tileLayer( 'http://nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg', {
|
var NLS_OS_1919_1947 = L.tileLayer( 'https://nls-{s}.tileserver.com/nls/{z}/{x}/{y}.jpg', {
|
||||||
attribution: 'Historical Maps Layer, from <a href="http://maps.nls.uk/projects/api/">NLS Maps</a>',
|
attribution: 'Historical Maps Layer, from <a href="https://maps.nls.uk/projects/api/">NLS Maps</a>',
|
||||||
bounds: [[49.6, -12], [61.7, 3]],
|
bounds: [[49.6, -12], [61.7, 3]],
|
||||||
minZoom:1, maxZoom:18,
|
minZoom:1, maxZoom:18,
|
||||||
subdomains: '0123'
|
subdomains: '0123'
|
||||||
});
|
});
|
||||||
basemaps["UK OS 1919-47"] = NLS_OS_1919_1947;
|
basemaps["UK OS 1919-47"] = NLS_OS_1919_1947;
|
||||||
|
|
||||||
//var NLS_OS_1900 = L.tileLayer('http://nls-{s}.tileserver.com/NLS_API/{z}/{x}/{y}.jpg', {
|
//var NLS_OS_1900 = L.tileLayer('https://nls-{s}.tileserver.com/NLS_API/{z}/{x}/{y}.jpg', {
|
||||||
var NLS_OS_1900 = L.tileLayer('http://nls-{s}.tileserver.com/fpsUZbzrfb5d/{z}/{x}/{y}.jpg', {
|
var NLS_OS_1900 = L.tileLayer('https://nls-{s}.tileserver.com/fpsUZbzrfb5d/{z}/{x}/{y}.jpg', {
|
||||||
attribution: '<a href="http://geo.nls.uk/maps/">National Library of Scotland Historic Maps</a>',
|
attribution: '<a href="https://geo.nls.uk/maps/">National Library of Scotland Historic Maps</a>',
|
||||||
bounds: [[49.6, -12], [61.7, 3]],
|
bounds: [[49.6, -12], [61.7, 3]],
|
||||||
minZoom:1, maxNativeZoom:19, maxZoom:20,
|
minZoom:1, maxNativeZoom:19, maxZoom:20,
|
||||||
subdomains: '0123'
|
subdomains: '0123'
|
||||||
});
|
});
|
||||||
basemaps["UK OS 1900"] = NLS_OS_1900;
|
basemaps["UK OS 1900"] = NLS_OS_1900;
|
||||||
|
|
||||||
//var CartoPos = L.tileLayer('http://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
|
//var CartoPos = L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png', {
|
||||||
// attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, © <a href="http://cartodb.com/attributions">CartoDB</a>'
|
// attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, © <a href="https://cartodb.com/attributions">CartoDB</a>'
|
||||||
//});
|
//});
|
||||||
//basemaps["CartoDB Light"] = CartoPos;
|
//basemaps["CartoDB Light"] = CartoPos;
|
||||||
|
|
||||||
@ -679,10 +687,10 @@ map.on('draw:created', function (e) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
// // Add the roads overlay
|
// // Add the roads overlay
|
||||||
// overlays["roads"] = L.tileLayer('http://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}', {
|
// overlays["roads"] = L.tileLayer('https://otile{s}.mqcdn.com/tiles/1.0.0/{type}/{z}/{x}/{y}.{ext}', {
|
||||||
// type: 'hyb',
|
// type: 'hyb',
|
||||||
// ext: 'png',
|
// ext: 'png',
|
||||||
// attribution: '<a href="http://www.mapquest.com/">MapQuest</a> — Map data © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>',
|
// attribution: '<a href="https://www.mapquest.com/">MapQuest</a> — Map data © <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>',
|
||||||
// subdomains: '1234',
|
// subdomains: '1234',
|
||||||
// opacity: 0.9
|
// opacity: 0.9
|
||||||
// });
|
// });
|
||||||
@ -692,8 +700,8 @@ overlays["buildings"] = new OSMBuildings(map).load();
|
|||||||
map.removeLayer(overlays["buildings"]); // Hide it at start
|
map.removeLayer(overlays["buildings"]); // Hide it at start
|
||||||
|
|
||||||
// Add the shipping navigation markers
|
// Add the shipping navigation markers
|
||||||
//var OpenSeaMap = L.tileLayer('http://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', {
|
//var OpenSeaMap = L.tileLayer('https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png', {
|
||||||
// attribution: 'Map data: © <a href="http://www.openseamap.org">OpenSeaMap</a> contributors'
|
// attribution: 'Map data: © <a href="https://www.openseamap.org">OpenSeaMap</a> contributors'
|
||||||
//});
|
//});
|
||||||
//overlays["ship nav"] = OpenSeaMap;
|
//overlays["ship nav"] = OpenSeaMap;
|
||||||
|
|
||||||
@ -860,13 +868,13 @@ function setMarker(data) {
|
|||||||
color: (data.iconColor || "blue")
|
color: (data.iconColor || "blue")
|
||||||
});
|
});
|
||||||
marker.setHeading(data.hdg||data.bearing);
|
marker.setHeading(data.hdg||data.bearing);
|
||||||
q = 'http://www.bing.com/images/search?q='+data.icon+'%20%2B"'+encodeURIComponent(data.name)+'"';
|
q = 'https://www.bing.com/images/search?q='+data.icon+'%20%2B"'+encodeURIComponent(data.name)+'"';
|
||||||
words += '<a href=\''+q+'\' target="_thingpic">Pictures</a><br>';
|
words += '<a href=\''+q+'\' target="_thingpic">Pictures</a><br>';
|
||||||
}
|
}
|
||||||
else if (data.icon === "plane") {
|
else if (data.icon === "plane") {
|
||||||
data.iconColor = data.iconColor || "black";
|
data.iconColor = data.iconColor || "black";
|
||||||
if (data.hasOwnProperty("squawk")) { data.iconColor = "red"; }
|
if (data.hasOwnProperty("squawk")) { data.iconColor = "red"; }
|
||||||
icon = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="310px" height="310px" viewBox="0 0 310 310">';
|
icon = '<svg xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink" x="0px" y="0px" width="310px" height="310px" viewBox="0 0 310 310">';
|
||||||
icon += '<path d="M134.875,19.74c0.04-22.771,34.363-22.771,34.34,0.642v95.563L303,196.354v35.306l-133.144-43.821v71.424l30.813,24.072v27.923l-47.501-14.764l-47.501,14.764v-27.923l30.491-24.072v-71.424L3,231.66v-35.306l131.875-80.409V19.74z" fill="'+data.iconColor+'"/></svg>';
|
icon += '<path d="M134.875,19.74c0.04-22.771,34.363-22.771,34.34,0.642v95.563L303,196.354v35.306l-133.144-43.821v71.424l30.813,24.072v27.923l-47.501-14.764l-47.501,14.764v-27.923l30.491-24.072v-71.424L3,231.66v-35.306l131.875-80.409V19.74z" fill="'+data.iconColor+'"/></svg>';
|
||||||
var svgplane = "data:image/svg+xml;base64," + btoa(icon);
|
var svgplane = "data:image/svg+xml;base64," + btoa(icon);
|
||||||
var dir = data.hdg || data.bearing;
|
var dir = data.hdg || data.bearing;
|
||||||
@ -876,13 +884,13 @@ function setMarker(data) {
|
|||||||
html:'<img src="'+svgplane+'" style="width:32px; height:32px; -webkit-transform:rotate('+dir+'deg); -moz-transform:rotate('+dir+'deg);"/>',
|
html:'<img src="'+svgplane+'" style="width:32px; height:32px; -webkit-transform:rotate('+dir+'deg); -moz-transform:rotate('+dir+'deg);"/>',
|
||||||
});
|
});
|
||||||
marker = L.marker(ll, {title:data.name, icon:myMarker});
|
marker = L.marker(ll, {title:data.name, icon:myMarker});
|
||||||
//q = 'http://www.bing.com/images/search?q='+data.icon+'%20'+encodeURIComponent(data.name);
|
//q = 'https://www.bing.com/images/search?q='+data.icon+'%20'+encodeURIComponent(data.name);
|
||||||
//words += '<a href=\''+q+'\' target="_thingpic">Pictures</a><br>';
|
//words += '<a href=\''+q+'\' target="_thingpic">Pictures</a><br>';
|
||||||
}
|
}
|
||||||
else if (data.icon === "uav") {
|
else if (data.icon === "uav") {
|
||||||
data.iconColor = data.iconColor || "black";
|
data.iconColor = data.iconColor || "black";
|
||||||
if (data.hasOwnProperty("squawk")) { data.iconColor = "red"; }
|
if (data.hasOwnProperty("squawk")) { data.iconColor = "red"; }
|
||||||
icon = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100">';
|
icon = '<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 100 100">';
|
||||||
icon+= '<path d="M62 82h-8V64h36c0-5-4-9-9-9H54v-8c0-3 4-5 4-11.1 0-4.4-3.6-8-8-8-4.4 0-8 3.6-8 8 0 5.1 4 8.1 4 11.1V55h-27c-5 0-9 4-9 9h36v18H38c-2.4 0-5 2.3-5 5L50 92l17-5C67 84.3 64.4 82 62 82z" fill="'+data.iconColor+'"/></svg>';
|
icon+= '<path d="M62 82h-8V64h36c0-5-4-9-9-9H54v-8c0-3 4-5 4-11.1 0-4.4-3.6-8-8-8-4.4 0-8 3.6-8 8 0 5.1 4 8.1 4 11.1V55h-27c-5 0-9 4-9 9h36v18H38c-2.4 0-5 2.3-5 5L50 92l17-5C67 84.3 64.4 82 62 82z" fill="'+data.iconColor+'"/></svg>';
|
||||||
var svguav = "data:image/svg+xml;base64," + btoa(icon);
|
var svguav = "data:image/svg+xml;base64," + btoa(icon);
|
||||||
var dir = data.hdg || data.bearing;
|
var dir = data.hdg || data.bearing;
|
||||||
@ -895,7 +903,7 @@ function setMarker(data) {
|
|||||||
}
|
}
|
||||||
else if (data.icon === "car") {
|
else if (data.icon === "car") {
|
||||||
data.iconColor = data.iconColor || "black";
|
data.iconColor = data.iconColor || "black";
|
||||||
icon = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="47px" height="47px" viewBox="0 0 47 47">';
|
icon = '<svg xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink" x="0px" y="0px" width="47px" height="47px" viewBox="0 0 47 47">';
|
||||||
icon += '<path d="M29.395,0H17.636c-3.117,0-5.643,3.467-5.643,6.584v34.804c0,3.116,2.526,5.644,5.643,5.644h11.759 c3.116,0,5.644-2.527,5.644-5.644V6.584C35.037,3.467,32.511,0,29.395,0z M34.05,14.188v11.665l-2.729,0.351v-4.806L34.05,14.188z M32.618,10.773c-1.016,3.9-2.219,8.51-2.219,8.51H16.631l-2.222-8.51C14.41,10.773,23.293,7.755,32.618,10.773z M15.741,21.713 v4.492l-2.73-0.349V14.502L15.741,21.713z M13.011,37.938V27.579l2.73,0.343v8.196L13.011,37.938z M14.568,40.882l2.218-3.336 h13.771l2.219,3.336H14.568z M31.321,35.805v-7.872l2.729-0.355v10.048L31.321,35.805z" fill="'+data.iconColor+'"/></svg>';
|
icon += '<path d="M29.395,0H17.636c-3.117,0-5.643,3.467-5.643,6.584v34.804c0,3.116,2.526,5.644,5.643,5.644h11.759 c3.116,0,5.644-2.527,5.644-5.644V6.584C35.037,3.467,32.511,0,29.395,0z M34.05,14.188v11.665l-2.729,0.351v-4.806L34.05,14.188z M32.618,10.773c-1.016,3.9-2.219,8.51-2.219,8.51H16.631l-2.222-8.51C14.41,10.773,23.293,7.755,32.618,10.773z M15.741,21.713 v4.492l-2.73-0.349V14.502L15.741,21.713z M13.011,37.938V27.579l2.73,0.343v8.196L13.011,37.938z M14.568,40.882l2.218-3.336 h13.771l2.219,3.336H14.568z M31.321,35.805v-7.872l2.729-0.355v10.048L31.321,35.805z" fill="'+data.iconColor+'"/></svg>';
|
||||||
var svgcar = "data:image/svg+xml;base64," + btoa(icon);
|
var svgcar = "data:image/svg+xml;base64," + btoa(icon);
|
||||||
var dir = data.hdg || data.bearing;
|
var dir = data.hdg || data.bearing;
|
||||||
@ -908,7 +916,7 @@ function setMarker(data) {
|
|||||||
}
|
}
|
||||||
else if (data.icon === "arrow") {
|
else if (data.icon === "arrow") {
|
||||||
data.iconColor = data.iconColor || "black";
|
data.iconColor = data.iconColor || "black";
|
||||||
icon = '<svg xmlns="http://www.w3.org/2000/svg" width="32px" height="32px" viewBox="0 0 32 32">';
|
icon = '<svg xmlns="https://www.w3.org/2000/svg" width="32px" height="32px" viewBox="0 0 32 32">';
|
||||||
icon += '<path d="m16.2 0.6l-10.9 31 10.7-11.1 10.5 11.1 -10.3-31z" fill="'+data.iconColor+'"/></svg>';
|
icon += '<path d="m16.2 0.6l-10.9 31 10.7-11.1 10.5 11.1 -10.3-31z" fill="'+data.iconColor+'"/></svg>';
|
||||||
var svgarrow = "data:image/svg+xml;base64," + btoa(icon);
|
var svgarrow = "data:image/svg+xml;base64," + btoa(icon);
|
||||||
var dir = data.hdg || data.bearing;
|
var dir = data.hdg || data.bearing;
|
||||||
@ -921,7 +929,7 @@ function setMarker(data) {
|
|||||||
}
|
}
|
||||||
else if (data.icon === "wind") {
|
else if (data.icon === "wind") {
|
||||||
data.iconColor = data.iconColor || "black";
|
data.iconColor = data.iconColor || "black";
|
||||||
icon = '<svg xmlns="http://www.w3.org/2000/svg" width="32px" height="32px" viewBox="0 0 32 32">';
|
icon = '<svg xmlns="https://www.w3.org/2000/svg" width="32px" height="32px" viewBox="0 0 32 32">';
|
||||||
icon += '<path d="M16.7 31.7l7-6.9c0.4-0.4 0.4-1 0-1.4 -0.4-0.4-1-0.4-1.4 0l-5.3 5.2V17.3l6.7-6.6c0.2-0.2 0.3-0.5 0.3-0.7v-9c0-0.9-1.1-1.3-1.7-0.7l-6.3 6.2L9.7 0.3C9.1-0.3 8 0.1 8 1.1v8.8c0 0.3 0.1 0.6 0.3 0.8l6.7 6.6v11.3l-5.3-5.2c-0.4-0.4-1-0.4-1.4 0 -0.4 0.4-0.4 1 0 1.4l7 6.9c0.2 0.2 0.5 0.3 0.7 0.3C16.2 32 16.5 31.9 16.7 31.7zM10 9.6V3.4l5 4.9v6.2L10 9.6zM17 8.3l5-4.9v6.2l-5 4.9V8.3z" fill="'+data.iconColor+'"/></svg>';
|
icon += '<path d="M16.7 31.7l7-6.9c0.4-0.4 0.4-1 0-1.4 -0.4-0.4-1-0.4-1.4 0l-5.3 5.2V17.3l6.7-6.6c0.2-0.2 0.3-0.5 0.3-0.7v-9c0-0.9-1.1-1.3-1.7-0.7l-6.3 6.2L9.7 0.3C9.1-0.3 8 0.1 8 1.1v8.8c0 0.3 0.1 0.6 0.3 0.8l6.7 6.6v11.3l-5.3-5.2c-0.4-0.4-1-0.4-1.4 0 -0.4 0.4-0.4 1 0 1.4l7 6.9c0.2 0.2 0.5 0.3 0.7 0.3C16.2 32 16.5 31.9 16.7 31.7zM10 9.6V3.4l5 4.9v6.2L10 9.6zM17 8.3l5-4.9v6.2l-5 4.9V8.3z" fill="'+data.iconColor+'"/></svg>';
|
||||||
var svgwind = "data:image/svg+xml;base64," + btoa(icon);
|
var svgwind = "data:image/svg+xml;base64," + btoa(icon);
|
||||||
var dir = data.hdg || data.bearing;
|
var dir = data.hdg || data.bearing;
|
||||||
@ -934,7 +942,7 @@ function setMarker(data) {
|
|||||||
}
|
}
|
||||||
else if (data.icon === "satellite") {
|
else if (data.icon === "satellite") {
|
||||||
data.iconColor = data.iconColor || "black";
|
data.iconColor = data.iconColor || "black";
|
||||||
icon = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100">';
|
icon = '<svg xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink" viewBox="0 0 100 100">';
|
||||||
icon += '<polygon points="38.17 39.4 45.24 32.33 43.34 27.92 24.21 8.78 14.59 18.4 33.72 37.53" fill="'+data.iconColor+'"/>';
|
icon += '<polygon points="38.17 39.4 45.24 32.33 43.34 27.92 24.21 8.78 14.59 18.4 33.72 37.53" fill="'+data.iconColor+'"/>';
|
||||||
icon += '<path d="M69.22 44.57L54.38 29.73c-1.1-1.1-2.91-1.1-4.01 0L35.53 44.57c-1.1 1.1-1.1 2.91 0 4.01l14.84 14.84c1.1 1.1 2.91 1.1 4.01 0l14.84-14.84C70.32 47.47 70.32 45.67 69.22 44.57z" fill="'+data.iconColor+'"/>';
|
icon += '<path d="M69.22 44.57L54.38 29.73c-1.1-1.1-2.91-1.1-4.01 0L35.53 44.57c-1.1 1.1-1.1 2.91 0 4.01l14.84 14.84c1.1 1.1 2.91 1.1 4.01 0l14.84-14.84C70.32 47.47 70.32 45.67 69.22 44.57z" fill="'+data.iconColor+'"/>';
|
||||||
icon += '<polygon points="71.04 55.61 66.58 53.75 59.52 60.82 61.42 65.23 80.55 84.36 90.17 74.75" fill="'+data.iconColor+'"/>';
|
icon += '<polygon points="71.04 55.61 66.58 53.75 59.52 60.82 61.42 65.23 80.55 84.36 90.17 74.75" fill="'+data.iconColor+'"/>';
|
||||||
@ -951,7 +959,7 @@ function setMarker(data) {
|
|||||||
}
|
}
|
||||||
else if (data.icon === "locate") {
|
else if (data.icon === "locate") {
|
||||||
data.iconColor = data.iconColor || "cyan";
|
data.iconColor = data.iconColor || "cyan";
|
||||||
icon = '<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="468px" height="468px" viewBox="0 0 468 468">';
|
icon = '<svg xmlns="https://www.w3.org/2000/svg" xmlns:xlink="https://www.w3.org/1999/xlink" x="0px" y="0px" width="468px" height="468px" viewBox="0 0 468 468">';
|
||||||
icon += '<polygon points="32 32 104 32 104 0 0 0 0 104 32 104" fill="'+data.iconColor+'"/>';
|
icon += '<polygon points="32 32 104 32 104 0 0 0 0 104 32 104" fill="'+data.iconColor+'"/>';
|
||||||
icon += '<polygon points="468 0 364 0 364 32 436 32 436 104 468 104" fill="'+data.iconColor+'"/>';
|
icon += '<polygon points="468 0 364 0 364 32 436 32 436 104 468 104" fill="'+data.iconColor+'"/>';
|
||||||
icon += '<polygon points="0 468 104 468 104 436 32 436 32 364 0 364" fill="'+data.iconColor+'"/>';
|
icon += '<polygon points="0 468 104 468 104 436 32 436 32 364 0 364" fill="'+data.iconColor+'"/>';
|
||||||
@ -1056,6 +1064,10 @@ function setMarker(data) {
|
|||||||
}
|
}
|
||||||
delete data.weblink;
|
delete data.weblink;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
popped = stay;
|
||||||
|
|
||||||
|
// Add any remaining properties to the info box
|
||||||
for (var i in data) {
|
for (var i in data) {
|
||||||
if ((i != "name") && (i != "length")) {
|
if ((i != "name") && (i != "length")) {
|
||||||
if (typeof data[i] === "object") {
|
if (typeof data[i] === "object") {
|
||||||
@ -1080,11 +1092,6 @@ function setMarker(data) {
|
|||||||
layers[lay].addLayer(marker);
|
layers[lay].addLayer(marker);
|
||||||
}
|
}
|
||||||
|
|
||||||
popped = stay;
|
|
||||||
if (popped) {
|
|
||||||
if (popid == data.name) { marker.openPopup(); }
|
|
||||||
else { popmark.openPopup(); }
|
|
||||||
}
|
|
||||||
if ((data.hdg != null) && (data.bearing == null)) { data.bearing = data.hdg; delete data.hdg; }
|
if ((data.hdg != null) && (data.bearing == null)) { data.bearing = data.hdg; delete data.hdg; }
|
||||||
if (data.bearing != null) { // if there is a heading
|
if (data.bearing != null) { // if there is a heading
|
||||||
if (data.speed != null) { data.length = data.speed * 50; } // and a speed
|
if (data.speed != null) { data.length = data.speed * 50; } // and a speed
|
||||||
@ -1125,6 +1132,10 @@ function setMarker(data) {
|
|||||||
if (panit) {
|
if (panit) {
|
||||||
map.setView(ll,map.getZoom());
|
map.setView(ll,map.getZoom());
|
||||||
}
|
}
|
||||||
|
if (popped) {
|
||||||
|
if (popid == data.name) { marker.openPopup(); }
|
||||||
|
else { popmark.openPopup(); }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user