ingress-intel-total-conversion/mobile/user-location.user.js
2013-04-29 09:15:46 +02:00

70 lines
2.3 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ==UserScript==
// @id iitc-plugin-user-location@cradle
// @name IITC plugin: User Location
// @version 0.1.0.@@DATETIMEVERSION@@
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
// @updateURL @@UPDATEURL@@
// @downloadURL @@DOWNLOADURL@@
// @description [@@BUILDNAME@@-@@BUILDDATE@@] Show user location marker on map
// @include https://www.ingress.com/intel*
// @include http://www.ingress.com/intel*
// @match https://www.ingress.com/intel*
// @match http://www.ingress.com/intel*
// ==/UserScript==
function wrapper() {
// ensure plugin framework is there, even if iitc is not yet loaded
if(typeof window.plugin !== 'function') window.plugin = function() {};
// PLUGIN START ////////////////////////////////////////////////////////
window.plugin.userLocation = function() {};
window.plugin.userLocation.marker = {};
window.plugin.userLocation.locationLayer = new L.LayerGroup();
window.plugin.userLocation.setup = function() {
var iconImage = '@@INCLUDEIMAGE:images/marker-icon.png@@';
var iconRetImage = '@@INCLUDEIMAGE:images/marker-icon_2x.png@@';
plugin.userLocation.icon = L.Icon.Default.extend({options: {
iconUrl: iconImage,
iconRetinaUrl: iconRetImage
}});
var marker = L.marker(window.map.getCenter(), {
title: "User Location",
icon: new plugin.userLocation.icon()
});
plugin.userLocation.marker = marker;
marker.addTo(window.map);
// jQueryUI doesnt automatically notice the new markers
window.setupTooltips($(marker._icon));
};
window.plugin.userLocation.updateLocation = function(lat, lng) {
var latlng = new L.LatLng(lat, lng);
window.plugin.userLocation.marker.setLatLng(latlng);
}
var setup = window.plugin.userLocation.setup;
// PLUGIN END //////////////////////////////////////////////////////////
if(window.iitcLoaded && typeof setup === 'function') {
setup();
} else {
if(window.bootPlugins)
window.bootPlugins.push(setup);
else
window.bootPlugins = [setup];
}
} // wrapper end
// inject code into site context
var script = document.createElement('script');
script.appendChild(document.createTextNode('('+ wrapper +')();'));
(document.body || document.head || document.documentElement).appendChild(script);