ingress-intel-total-conversion/plugins/show-more-portals.user.js
Jon Atkins 0302d76a67 portal detail zoom - don't step out for zoom <= 12 - seems to miss some data as we're displaying things larger than the server expects
also, add a new attempt to fix the portal zoom issue (Lundefined) that occurs on mobile sometimes
2013-08-27 03:45:37 +01:00

70 lines
2.4 KiB
JavaScript

// ==UserScript==
// @id iitc-plugin-show-more-portals@jonatkins
// @name IITC plugin: Show more portals
// @category Tweaks
// @version 0.1.3.@@DATETIMEVERSION@@
// @namespace https://github.com/jonatkins/ingress-intel-total-conversion
// @updateURL @@UPDATEURL@@
// @downloadURL @@DOWNLOADURL@@
// @description [@@BUILDNAME@@-@@BUILDDATE@@] Boost the detail level of portals shown on the map by one zoom level. Good for small screens. Likely to increase request failed errors on larger screens.
// @include https://www.ingress.com/intel*
// @include http://www.ingress.com/intel*
// @match https://www.ingress.com/intel*
// @match http://www.ingress.com/intel*
// @grant none
// ==/UserScript==
@@PLUGINSTART@@
// PLUGIN START ////////////////////////////////////////////////////////
// use own namespace for plugin
window.plugin.showMorePortals = function() {};
window.plugin.showMorePortals.setup = function() {
// replace the window.getPortalDataZoom function
window.getPortalDataZoom = function() {
var mapZoom = map.getZoom();
// make sure we're dealing with an integer here
// (mobile: a float somehow gets through in some cases!)
var z = parseInt(mapZoom);
// boost data zoom level by one when reasonably close (past the zoom<=12 point of the smaller
// getThinnedEntitiesV4 tiles, to avoid excessive requests further out)
if (mapZoom >= 13) z += 1;
// not recommended on anything other than the very smallest of screens
// // show unclaimed portals at an additional zoom level further than by default
// if (mapZoom >= 15) z += 1;
// limiting the mazimum zoom level for data retrieval reduces the number of requests at high zoom levels
// (as all portal data is retrieved at z=17, why retrieve multiple z=18 tiles when fewer z=17 would do?)
// very effective along with the new cache code
if (z > 17) z=17;
// if the data zoom is above the map zoom we can step back if the detail level is the same
// with the new cache code this works rather well
while (z > mapZoom && getMinPortalLevelForZoom(z) == getMinPortalLevelForZoom(z-1)) {
z = z-1;
}
//sanity check - should never happen
if (z < 0) z=0;
return z;
}
};
var setup = window.plugin.showMorePortals.setup;
// PLUGIN END //////////////////////////////////////////////////////////
@@PLUGINEND@@