Add google map navigator link to portal details
// ==UserScript==
// @id iitc-plugin-portal-google-map-link@odrick
// @name IITC plugin: Open portal in google navigator
// @author Odrick
// @category Portal info
// @license MIT
// @version 0.0.6
// @description Add google map navigator link to portal details
// @include https://*.ingress.com/intel*
// @include http://*.ingress.com/intel*
// @match https://*.ingress.com/intel*
// @match http://*.ingress.com/intel*
// @include https://*.ingress.com/mission/*
// @include http://*.ingress.com/mission/*
// @match https://*.ingress.com/mission/*
// @match http://*.ingress.com/mission/*
// @grant none
// @namespace https://greasyfork.org/users/410740
// ==/UserScript==
function wrapper(plugin_info) {
if(typeof window.plugin !== 'function') window.plugin = function() {};
plugin_info.buildName = 'Portal link to google map';
plugin_info.dateTimeVersion = '20191212000500';
plugin_info.pluginId = 'iitc-plugin-portal-google-map-link@odrick';
window.plugin.portalGoogleMapLink = function() {};
window.plugin.portalGoogleMapLink.handlePortalSelect = function(data) {
var portal = window.portals[data.guid];
var location = portal.getLatLng();
var url = 'https://www.google.com/maps/dir//';
url += location.lat + ',' + location.lng;
url += '/@';
url += location.lat + ',' + location.lng;
url += ',18z/data=!4m2!4m1!3e0';
setTimeout(function() {
if(document.getElementById("portal-google-map-link")) {
return;
}
$('<aside id="portal-google-map-link"><a href="' + encodeURI(url) + '" target="_blank">Google navigator</a></aside>').appendTo($(".linkdetails"))
}, 0);
};
function setup() {
window.addHook('portalDetailsUpdated', window.plugin.portalGoogleMapLink.handlePortalSelect);
}
setup.info = plugin_info;
if (!window.bootPlugins) window.bootPlugins = [];
window.bootPlugins.push(setup);
if (window.iitcLoaded && typeof setup === 'function') setup();
}
var script = document.createElement('script');
var info = {};
if(typeof GM_info !== 'undefined' && GM_info && GM_info.script) {
info.script = {
version: GM_info.script.version,
name: GM_info.script.name,
description: GM_info.script.description
};
}
var textContent = document.createTextNode('('+ wrapper +')('+ JSON.stringify(info) +')');
script.appendChild(textContent);
(document.body || document.head || document.documentElement).appendChild(script);