add handling for empty position data

This commit is contained in:
xenDE 2019-11-10 21:56:36 +00:00
parent a1746da7f1
commit b9a909de2b

@ -90,7 +90,7 @@
</head> </head>
<body> <body>
<div id="mapdiv"></div> <div id="mapdiv"></div>
<div id="loading"><div class="face"><nobr>(⌐■&nbsp;<span id="loading_ap_img"></span>&nbsp;■)</nobr></div><div class="text">loading positions...</div></div> <div id="loading"><div class="face"><nobr>(⌐■&nbsp;<span id="loading_ap_img"></span>&nbsp;■)</nobr></div><div class="text" id="loading_infotext">loading positions...</div></div>
<script type="text/javascript"> <script type="text/javascript">
function loadJSON(url, callback) { function loadJSON(url, callback) {
document.getElementById("loading").style.display = "flex"; document.getElementById("loading").style.display = "flex";
@ -164,7 +164,9 @@
loadJSON("/plugins/webgpsmap/all", function(response) { loadJSON("/plugins/webgpsmap/all", function(response) {
var positions = JSON.parse(response); var positions = JSON.parse(response);
count = 0;
Object.keys(positions).forEach(function(key) { Object.keys(positions).forEach(function(key) {
count++;
if(positions[key].lng){ if(positions[key].lng){
new_marker_pos = [positions[key].lat, positions[key].lng]; new_marker_pos = [positions[key].lat, positions[key].lng];
if (positions[key].acc) { if (positions[key].acc) {
@ -197,17 +199,20 @@
if (positions[key].pass) { if (positions[key].pass) {
passInfo = '<br/><b>Pass:</b> '+escapeHtml(positions[key].pass); passInfo = '<br/><b>Pass:</b> '+escapeHtml(positions[key].pass);
} }
console.log(JSON.stringify(positions[key]))
newMarker.bindPopup("<b>"+escapeHtml(positions[key].ssid)+"</b><br><nobr>MAC: "+escapeHtml(formatMacAddress(positions[key].mac))+"</nobr><br/>"+"<nobr>position type: "+escapeHtml(positions[key].type)+"</nobr><br/>"+"<nobr>position accuracy: "+escapeHtml(Math.round(positions[key].acc))+"</nobr>"+passInfo, { maxWidth: "auto" }); newMarker.bindPopup("<b>"+escapeHtml(positions[key].ssid)+"</b><br><nobr>MAC: "+escapeHtml(formatMacAddress(positions[key].mac))+"</nobr><br/>"+"<nobr>position type: "+escapeHtml(positions[key].type)+"</nobr><br/>"+"<nobr>position accuracy: "+escapeHtml(Math.round(positions[key].acc))+"</nobr>"+passInfo, { maxWidth: "auto" });
markers.push(newMarker); markers.push(newMarker);
marker_pos.push(new_marker_pos); marker_pos.push(new_marker_pos);
markerClusters.addLayer( newMarker ); markerClusters.addLayer( newMarker );
} }
}); });
mymap.addLayer( markerClusters ); if (count > 0) {
var bounds = new L.LatLngBounds(marker_pos); mymap.addLayer( markerClusters );
mymap.fitBounds(bounds); var bounds = new L.LatLngBounds(marker_pos);
document.getElementById("loading").style.display = "none"; mymap.fitBounds(bounds);
document.getElementById("loading").style.display = "none";
} else {
document.getElementById("loading_infotext").innerHTML = "NO POSITION DATA FOUND :(";
}
}); });
</script> </script>
</body></html> </body></html>