distance-to-portal plugin: integrate with portals list
This commit is contained in:
parent
052d208783
commit
7157eceae3
@ -1,8 +1,8 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @id iitc-plugin-distance-to-portal@jonatkins
|
// @id iitc-plugin-distance-to-portal@jonatkins
|
||||||
// @name IITC plugin: Distance to portal
|
// @name IITC plugin: Distance to portal
|
||||||
// @category Info
|
// @category Portal Info
|
||||||
// @version 0.1.0.@@DATETIMEVERSION@@
|
// @version 0.1.1.@@DATETIMEVERSION@@
|
||||||
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
|
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
|
||||||
// @updateURL @@UPDATEURL@@
|
// @updateURL @@UPDATEURL@@
|
||||||
// @downloadURL @@DOWNLOADURL@@
|
// @downloadURL @@DOWNLOADURL@@
|
||||||
@ -35,6 +35,19 @@ window.plugin.distanceToPortal.addDistance = function() {
|
|||||||
window.plugin.distanceToPortal.updateDistance();
|
window.plugin.distanceToPortal.updateDistance();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
window.plugin.distanceToPortal.formatDistance = function(dist) {
|
||||||
|
if (dist >= 10000) {
|
||||||
|
dist = Math.round(dist/1000)+'km';
|
||||||
|
} else if (dist >= 1000) {
|
||||||
|
dist = Math.round(dist/100)/10+'km';
|
||||||
|
} else {
|
||||||
|
dist = Math.round(dist)+'m';
|
||||||
|
}
|
||||||
|
|
||||||
|
return dist;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
window.plugin.distanceToPortal.updateDistance = function() {
|
window.plugin.distanceToPortal.updateDistance = function() {
|
||||||
if(!(selectedPortal && portals[selectedPortal])) return;
|
if(!(selectedPortal && portals[selectedPortal])) return;
|
||||||
var portal = portals[selectedPortal];
|
var portal = portals[selectedPortal];
|
||||||
@ -46,13 +59,7 @@ window.plugin.distanceToPortal.updateDistance = function() {
|
|||||||
if (window.plugin.distanceToPortal.currentLoc) {
|
if (window.plugin.distanceToPortal.currentLoc) {
|
||||||
var dist = window.plugin.distanceToPortal.currentLoc.distanceTo(ll);
|
var dist = window.plugin.distanceToPortal.currentLoc.distanceTo(ll);
|
||||||
|
|
||||||
if (dist >= 10000) {
|
dist = window.plugin.distanceToPortal.formatDistance(dist);
|
||||||
dist = Math.round(dist/1000)+'km';
|
|
||||||
} else if (dist >= 1000) {
|
|
||||||
dist = Math.round(dist/100)/10+'km';
|
|
||||||
} else {
|
|
||||||
dist = Math.round(dist)+'m';
|
|
||||||
}
|
|
||||||
|
|
||||||
var bearing = window.plugin.distanceToPortal.currentLoc.bearingTo(ll);
|
var bearing = window.plugin.distanceToPortal.currentLoc.bearingTo(ll);
|
||||||
var bearingWord = window.plugin.distanceToPortal.currentLoc.bearingWordTo(ll);
|
var bearingWord = window.plugin.distanceToPortal.currentLoc.bearingWordTo(ll);
|
||||||
@ -98,6 +105,19 @@ window.plugin.distanceToPortal.setLocation = function() {
|
|||||||
map.addLayer(window.plugin.distanceToPortal.currentLocMarker);
|
map.addLayer(window.plugin.distanceToPortal.currentLocMarker);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
window.plugin.distanceToPortal.setupPortalsList = function() {
|
||||||
|
if(!window.plugin.portalslist) return;
|
||||||
|
|
||||||
|
window.plugin.portalslist.fields.push({
|
||||||
|
title: "Dist",
|
||||||
|
value: function(portal) { if (window.plugin.distanceToPortal.currentLoc) return window.plugin.distanceToPortal.currentLoc.distanceTo(portal.getLatLng()); else return 0; },
|
||||||
|
format: function(cell, portal, dist) {
|
||||||
|
$(cell).addClass('alignR').text(window.plugin.distanceToPortal.formatDistance(dist));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
window.plugin.distanceToPortal.setup = function() {
|
window.plugin.distanceToPortal.setup = function() {
|
||||||
// https://github.com/gregallensworth/Leaflet/
|
// https://github.com/gregallensworth/Leaflet/
|
||||||
@ -114,6 +134,9 @@ window.plugin.distanceToPortal.setup = function() {
|
|||||||
$('<style>').prop('type', 'text/css').html('@@INCLUDESTRING:plugins/distance-to-portal.css@@').appendTo('head');
|
$('<style>').prop('type', 'text/css').html('@@INCLUDESTRING:plugins/distance-to-portal.css@@').appendTo('head');
|
||||||
|
|
||||||
addHook('portalDetailsUpdated', window.plugin.distanceToPortal.addDistance);
|
addHook('portalDetailsUpdated', window.plugin.distanceToPortal.addDistance);
|
||||||
|
|
||||||
|
window.plugin.distanceToPortal.setupPortalsList();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
var setup = window.plugin.distanceToPortal.setup;
|
var setup = window.plugin.distanceToPortal.setup;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user