geoGuessr Resolver 7.5 (duels and google maps update)

Features: Automatically score 5000 Points | Score randomly between 4500 and 5000 points | Open in Google Maps

当前为 2023-02-03 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name geoGuessr Resolver 7.5 (duels and google maps update)
  3. // @namespace http://tampermonkey.net/
  4. // @version 7.5
  5. // @description Features: Automatically score 5000 Points | Score randomly between 4500 and 5000 points | Open in Google Maps
  6. // @author 0x978
  7. // @match https://www.geoguessr.com/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=geoguessr.com
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12.  
  13. alert(` Thanks for using geoGuessr Resolver by 0x978.
  14. ============================================
  15. Please use the safer guess Option to avoid bans in competitive
  16. ============================================
  17. Controls (UPDATED!):
  18. '1': Place marker on a "safe" guess (4500 - 5000)
  19. '2': Place marker on a "perfect" guess (5000)
  20. '3': Get a description of the correct location.
  21. '4': Open location in Google Maps (In a new tab)
  22. ----------------------------------------------------------`)
  23. async function v(e, r){
  24. let q = await fetch(`https://nominatim.openstreetmap.org/reverse?lat=${e}&lon=${r}&format=json`)
  25. return await q.json();
  26. }
  27. function qq() {
  28. let [p,m] = oi()
  29. v(p,m).then(x => {
  30. console.log(x)
  31. alert(`
  32. Country: ${x.address.country}
  33. County: ${x.address.county}
  34. City: ${x.address.city}
  35. Road: ${x.address.road}
  36. State: ${x.address.state}
  37. Postcode: ${x.address.postcode}
  38. Village/Suburb: ${(x.address.village||x.address.suburb)}
  39.  
  40. Postal Address: ${x.display_name}
  41. `) } );
  42.  
  43. }
  44. function km(h){
  45. let [qqw,th] = oi()
  46. if(document.getElementsByClassName("guess-map__canvas-container")[0] === undefined){mn([qqw,th]);return;}
  47. if(h){qqw += (Math.random() / 2);th += (Math.random() / 2);}
  48. let wc = document.getElementsByClassName("guess-map__canvas-container")[0]
  49. let vvr = Object.keys(wc)
  50. let er = vvr.find(b => b.startsWith("__reactFiber$"))
  51. let fp = wc[er].return.memoizedProps.onMarkerLocationChanged
  52. fp({lat:qqw,lng:th})}
  53. function mn([e,g]){
  54. let f = document.getElementsByClassName("region-map_map__7jxcD")[0]
  55. let lllk = Object.keys(f)
  56. let u = lllk.find(key => key.startsWith("__reactFiber$"))
  57. let fg = f[u].return.memoizedProps.onRegionSelected
  58. v(e,g).then(cx => {let countryCode = cx.address.country_code
  59. fg(countryCode)})
  60. }
  61. function oi(){
  62. let ww = document.getElementsByClassName("styles_root__3xbKq")[0]
  63. let e = Object.keys(ww)
  64. let u = e.find(key => key.startsWith("__reactFiber$"))
  65. let w = ww[u]
  66. let qwqa = w.return.memoizedProps.panorama.position
  67. return([qwqa.lat(),qwqa.lng()])
  68. }
  69. function vn(){
  70. let [xz,bt] = oi()
  71. if(!xz||!bt){return;}
  72. window.open(`https://www.google.com/maps/place/${xz},${bt}`);
  73. }
  74. let h = (e) => {
  75. if(e.keyCode === 49){km(true)}
  76. if(e.keyCode === 50){km(false)}
  77. if(e.keyCode === 51){qq()}
  78. if(e.keyCode === 52){vn()}
  79. }
  80. document.addEventListener("keydown", h);

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址