您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a Map Permalink button to events on the Munzee Calendar.
当前为
// ==UserScript== // @name Munzee Calendar Permalink // @version 1.0 // @description Adds a Map Permalink button to events on the Munzee Calendar. // @author sohcah // @match https://calendar.munzee.com/* // @grant none // @namespace https://greasyfork.org/users/398283 // ==/UserScript== (function () { 'use strict'; const BITS = [16, 8, 4, 2, 1]; const BASE32 = "0123456789bcdefghjkmnpqrstuvwxyz"; const NEIGHBORS = { right: { even: "bc01fg45238967deuvhjyznpkmstqrwx" }, left: { even: "238967debc01fg45kmstqrwxuvhjyznp" }, top: { even: "p0r21436x8zb9dcf5h7kjnmqesgutwvy" }, bottom: { even: "14365h7k9dcfesgujnmqp0r2twvyx8zb" } }; const BORDERS = { right: { even: "bcfguvyz" }, left: { even: "0145hjnp" }, top: { even: "prxz" }, bottom: { even: "028b" } }; NEIGHBORS.bottom.odd = NEIGHBORS.left.even; NEIGHBORS.top.odd = NEIGHBORS.right.even; NEIGHBORS.left.odd = NEIGHBORS.bottom.even; NEIGHBORS.right.odd = NEIGHBORS.top.even; BORDERS.bottom.odd = BORDERS.left.even; BORDERS.top.odd = BORDERS.right.even; BORDERS.left.odd = BORDERS.bottom.even; BORDERS.right.odd = BORDERS.top.even; function encodeGeoHash(latitude, longitude) { var is_even = 1; var i = 0; var lat = []; var lon = []; var bit = 0; var ch = 0; var precision = 12; var geohash = ""; var mid; lat[0] = -90.0; lat[1] = 90.0; lon[0] = -180.0; lon[1] = 180.0; while (geohash.length < precision) { if (is_even) { mid = (lon[0] + lon[1]) / 2; if (longitude > mid) { ch |= BITS[bit]; lon[0] = mid; } else lon[1] = mid; } else { mid = (lat[0] + lat[1]) / 2; if (latitude > mid) { ch |= BITS[bit]; lat[0] = mid; } else lat[1] = mid; } is_even = !is_even; if (bit < 4) bit++; else { geohash += BASE32[ch]; bit = 0; ch = 0; } } return geohash; } $(() => { setTimeout(()=>{ const link = `https://www.munzee.com/map/${encodeGeoHash(window.map.getCenter().lat, window.map.getCenter().lng)}/16.0`; $('.event-indicator')[0].outerHTML = `<a style="color: black;" href="${link}"> 📌 Map Link</a> | ` + $('.event-indicator')[0].outerHTML; }, 2000); }) })();