diff --git a/www/plugins/map/js/controllers/network-controllers.js b/www/plugins/map/js/controllers/network-controllers.js index 69d6113138dc9f4d121e338e199cd2fd165e9c8b..fdbd9704584c9ef521711a93ff74e1772cb7b1bf 100644 --- a/www/plugins/map/js/controllers/network-controllers.js +++ b/www/plugins/map/js/controllers/network-controllers.js @@ -52,17 +52,20 @@ angular.module('cesium.map.network.controllers', ['cesium.services', 'cesium.map member: { type: 'awesomeMarker', icon: 'person', - markerColor: 'green' + markerColor: 'green', + iconColor: 'white' }, mirror: { type: 'awesomeMarker', - icon: 'android-desktop', - markerColor: 'green' + icon: 'radio-waves', + markerColor: 'green', + iconColor: 'white' }, offline: { type: 'awesomeMarker', icon: 'ion-close-circled', - markerColor: 'red' + markerColor: 'red', + iconColor: 'white' } }, markerIdByPeerId = {}, @@ -176,8 +179,9 @@ angular.module('cesium.map.network.controllers', ['cesium.services', 'cesium.map } // Get position by IP - var ip = peer.getHost(); - esGeo.point.searchByIP(ip) + var bma = peer.bma; + var address = peer.hasValid4(bma) ? bma.ipv4 : (bma.dns || bma.ipv6); + esGeo.point.searchByIP(address) // Create the marker .then(function(position){ @@ -243,10 +247,11 @@ angular.module('cesium.map.network.controllers', ['cesium.services', 'cesium.map $scope.updateMarker = function(marker, peer) { marker.layer = !peer.online ? 'offline' : (peer.uid ? 'member' : 'mirror'); marker.icon = angular.copy(icons[marker.layer]); - marker.opacity = peer.online ? 0.9 : 0.7; + marker.opacity = peer.online ? 1 : 0.7; marker.title = peer.dns || peer.server; if (peer.online && !peer.hasMainConsensusBlock) { - marker.icon.markerColor = peer.hasConsensusBlock ? 'beige' : 'lightgray'; + marker.icon.markerColor = peer.hasConsensusBlock ? 'lightgreen' : 'lightgray'; + marker.opacity = peer.hasConsensusBlock ? 0.9 : 0.8; } if (!marker.lng) { marker.lng = marker.position.lng + Math.random() / 1000;