mirror of
https://github.com/pezkuwichain/pezkuwi-telemetry.git
synced 2026-06-13 08:01:02 +00:00
Display location on map node details
This commit is contained in:
@@ -57,7 +57,7 @@ export default class Feed {
|
||||
public static locatedNode(node: Node, location: Location): FeedMessage.Message {
|
||||
return {
|
||||
action: Actions.LocatedNode,
|
||||
payload: [node.id, location.lat, location.lon]
|
||||
payload: [node.id, location.lat, location.lon, location.city]
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -98,8 +98,6 @@ export default class Node {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('node', ip, 'located at', location);
|
||||
|
||||
this.location = location;
|
||||
|
||||
this.events.emit('location', location);
|
||||
@@ -107,8 +105,6 @@ export default class Node {
|
||||
}
|
||||
|
||||
public static fromSocket(socket: WebSocket, ip: string): Promise<Node> {
|
||||
console.log('node ip', ip);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
function cleanup() {
|
||||
clearTimeout(timeout);
|
||||
@@ -160,7 +156,7 @@ export default class Node {
|
||||
public nodeLocation(): Maybe<Types.NodeLocation> {
|
||||
const { location } = this;
|
||||
|
||||
return location ? [location.lat, location.lon] : null;
|
||||
return location ? [location.lat, location.lon, location.city] : null;
|
||||
}
|
||||
|
||||
public get average(): number {
|
||||
|
||||
@@ -4,6 +4,7 @@ import { Maybe, Types } from '@dotstats/common';
|
||||
export interface Location {
|
||||
lat: Types.Latitude;
|
||||
lon: Types.Longitude;
|
||||
city: Types.City;
|
||||
}
|
||||
|
||||
const cache = new Map<string, Location>();
|
||||
@@ -12,7 +13,8 @@ export async function locate(ip: string): Promise<Maybe<Location>> {
|
||||
if (ip === '127.0.0.1') {
|
||||
return Promise.resolve({
|
||||
lat: 52.5166667 as Types.Latitude,
|
||||
lon: 13.4 as Types.Longitude
|
||||
lon: 13.4 as Types.Longitude,
|
||||
city: 'Berlin' as Types.City,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -30,8 +32,8 @@ export async function locate(ip: string): Promise<Maybe<Location>> {
|
||||
return resolve(null);
|
||||
}
|
||||
|
||||
const { latitude: lat, longitude: lon } = result;
|
||||
const location = { lat, lon } as Location;
|
||||
const { latitude: lat, longitude: lon, city } = result;
|
||||
const location = { lat, lon, city } as Location;
|
||||
|
||||
cache.set(ip, location);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user