Better Resolution Terrain

Gets higher resolution images and blocks ads

  1. // ==UserScript==
  2. // @name Better Resolution Terrain
  3. // @namespace http://tampermonkey.net/
  4. // @version 2024-01-21
  5. // @description Gets higher resolution images and blocks ads
  6. // @author drakeerv
  7. // @match https://www.geo-fs.com/geofs.php?v=*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=geo-fs.com
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. "use strict";
  15.  
  16. const provider = "google";
  17.  
  18. window.geofsNewHDState = true;
  19. window.geofs.geoIpUpdate = function() {
  20. document.body.classList.add("geofs-hd");
  21.  
  22. switch (provider) {
  23. case "cache":
  24. window.geofs.api.imageryProvider = new window.Cesium.UrlTemplateImageryProvider({
  25. maximumLevel: 21,
  26. hasAlphaChannel: false,
  27. url: "http://localhost/map/{z}/{x}/{y}"
  28. });
  29. break;
  30. case "google":
  31. window.geofs.api.imageryProvider = new window.Cesium.UrlTemplateImageryProvider({
  32. maximumLevel: 21,
  33. hasAlphaChannel: false,
  34. subdomains: ["mt0", "mt1", "mt2", "mt3"],
  35. url: "https://{s}.google.com/vt/lyrs=s&x={x}&y={y}&z={z}"
  36. });
  37. break;
  38. case "apple":
  39. window.geofs.api.imageryProvider = new window.Cesium.UrlTemplateImageryProvider({
  40. maximumLevel: 21,
  41. hasAlphaChannel: false,
  42. subdomains: ["sat-cdn1", "sat-cdn2", "sat-cdn3", "sat-cdn4"],
  43. url: "https://{s}.apple-mapkit.com/tile?style=7&size=1&scale=1&z={z}&x={x}&y={y}&v=9651&accessKey=1705988638_4603104305979553294_%2F_Qvq1XXyXG5w0IUYlFOsIQsxLt2ALxm32i%2BAMbLIFD5s%3D"
  44. });
  45. break;
  46. case "bing":
  47. window.geofs.api.imageryProvider = new window.Cesium.BingMapsImageryProvider({
  48. url: "https://dev.virtualearth.net",
  49. key: "AjrgR5TNicgFReuFwvNH71v4YeQNkXIB20l63ZMm86mVuBGZPhTHMkdiVq2_9L7x",
  50. mapStyle: window.Cesium.BingMapsStyle.AERIAL
  51. });
  52. break;
  53. default: break
  54. }
  55.  
  56. window.geofs.api.setImageryProvider(window.geofs.api.imageryProvider, false);
  57. window.geofs.api.viewer.terrainProvider = window.geofs.api.flatRunwayTerrainProviderInstance = new window.geofs.api.FlatRunwayTerrainProvider({
  58. baseProvider: new window.Cesium.CesiumTerrainProvider({
  59. url: "https://data.geo-fs.com/srtm/",
  60. requestWaterMask: false,
  61. requestVertexNormals: true
  62. }),
  63. bypass: false,
  64. maximumLevel: 12
  65. });
  66. };
  67. window.executeOnEventDone("geofsStarted", function() {
  68. if (window.geofs.api.hdOn === window.geofsNewHDState) return;
  69. window.jQuery("body").trigger("terrainProviderWillUpdate");
  70. window.geofs.geoIpUpdate();
  71. window.geofs.api.hdOn = window.geofsNewHDState;
  72. window.geofs.api.renderingQuality();
  73. window.jQuery("body").trigger("terrainProviderUpdate");
  74. });
  75. window.executeOnEventDone("afterDeferredload", function() {
  76. window.geofs.mapXYZ = "https://data.geo-fs.com/osm/{z}/{x}/{y}.png";
  77. });
  78.  
  79. document.querySelectorAll("body > div.geofs-adbanner.geofs-adsense-container")[0].remove();
  80. })();