您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Improves Munzee Map Sandbox
当前为
- // ==UserScript==
- // @name Munzee Map Sandbox
- // @namespace MunzeeMap
- // @version 1.13.1
- // @description Improves Munzee Map Sandbox
- // @author sohcah
- // @match https://www.munzee.com/map*
- // @grant none
- // ==/UserScript==
- $(function () {
- 'use strict';
- setTimeout(() => {
- if("__CZ__BROWSEACTIONS" in window) {
- alert("You seem to have the CuppaZee Browse extension installed. Please disable the 'Munzee Map Sandbox' userscript and use the 'Better Map Sandbox' tool in Browse instead.");
- return;
- }
- }, 1000);
- var hidden = [];
- window.maplibregl ||= new Proxy({}, {
- get: (target, prop) => {
- return window.mapboxgl?.[prop];
- }
- });
- window.mapboxgl ||= new Proxy({}, {
- get: (target, prop) => {
- return window.maplibregl?.[prop];
- }
- });
- window.toggleIcon = function(i) {
- if(hidden.includes(i)) {
- $(`.maplibregl-marker[style*="${i}"]`).css("visibility","visible");
- hidden = hidden.filter(x=>x!=i);
- } else {
- $(`.maplibregl-marker[style*="${i}"]`).css("visibility","hidden");
- hidden.push(i);
- }
- }
- var d = document.createElement('div');
- d.innerHTML = `<div id="filters"></div>`;
- var xd = d.firstChild;
- $('#inputbar')[0].append(xd)//${$('#inputbar')[0].innerHTML}`;
- setInterval(function () {
- var obj = {};
- var arr = Object.values(mapMarkers);
- $(`.maplibregl-marker[style*="${i}"]`).css("visibility","visible")
- for(var i of hidden) {
- $(`.maplibregl-marker[style*="${i}"]`).css("visibility","hidden")
- }
- for(var i = 0;i < arr.length;i++){
- var a = arr[i];
- var ic = a._element.style.backgroundImage.slice(5,-2);
- obj[ic] = (obj[ic]||0) + 1;
- //if(hidden.includes(ic)) {
- // a._element.style.visibility = "hidden"
- //} else {
- // a._element.style.visibility = "visible"
- //}
- }
- var x = Object.entries(obj);
- x.sort((a,b)=>b[1]-a[1]);
- var y = `<h4>Advanced Filtering Functionality is experimental</h4>`+x.map(i=>`
- <div onclick="toggleIcon('${i[0]}')" style="display:inline-block;border:1px solid ${hidden.includes(i[0])?'red':'green'};background-color:${hidden.includes(i[0])?'#ffaaaa':'#aaffaa'};padding:4px;margin:2px;border-radius:4px;">
- <img src="${i[0]}" style="height:32px;width:32px;"/><br/>
- ${i[1]}
- </div>
- `).join('');
- if($('#filters')[0].innerHTML.toLowerCase().replace(/[^0-9a-zA-Z]/g,'') != y.toLowerCase().replace(/[^0-9a-zA-Z]/g,'')) $('#filters')[0].innerHTML = y;
- },100)
- $('#showSBbuttons').click(function () {
- setTimeout(function () {
- mapSandbox.createItemElement = function (item) {
- var imageurl = 'https://i.ibb.co/3RKyg0m/Grey-Single-Surprise.png';
- var fn = htmlrep(username);
- var el = document.createElement('div');
- el.className = 'marker map-box-sb-marker';
- el.style.width = `32px`;
- el.style.height = `32px`;
- el.style.cursor = 'pointer';
- el.style.setProperty('background-size',"32px 32px","important");
- el.style.zIndex ="10000000";
- el.style.backgroundImage = 'url('+imageurl+')';
- el.addEventListener('click', function (e) {
- e.stopPropagation();
- this.showItemPopup(item);
- }.bind(this));
- el.click();
- var bbtn = $('button.maplibregl-popup-close-button').click();
- return el;
- }
- mapSandbox.circles.basicScatter = { radius: 762, color: '#72ea5d' };
- mapSandbox.circles.catapultScatter = { radius: 402.336, color: '#b56000' };
- mapSandbox.circles.bowlingScatter = { radius: 228.6, color: '#00b52d' };
- mapSandbox.circles.joystickScatter = { radius: 457.2, color: '#b50087' };
- mapSandbox.circles.joystickSecondScatter = { radius: 213.36, color: '#8800b5' };
- mapSandbox.circles.capturePOI = { radius: 304.8, color: '#ff5500' };
- mapSandbox.showItemPopup = function (item) {
- map.panTo(item.coordinates);
- onCameraChanged();
- this.removePopup();
- this.selectedId = item.id;
- this.itemPopup = new maplibregl.Popup({
- closeButton: false,
- offset: 10,
- anchor: "left",
- maxWidth: 400
- });
- var itemContent = '<section id=\'createNewItem\' style=\'text-align:center;\'>';
- itemContent += '<input class="hidden-xs form-control" style=\'margin-bottom: 5px;\' id=\'popup_title\' type=\'text\' value=\'' + item.title + '\'>';
- //itemContent += '<input class="hidden-xs" style=\'margin-left: 10px;\' id=\'saveSBtitle\' type=\'button\' value=\'Save Title\'>';
- itemContent += '<input style=\'margin-right: 10px;background-color:#aaffaa;\' class=\'hidden-xs btn btn-md\' id=\'openquickdeploymodal\' type=\'button\' value=\'Deploy\' data-toggle="modal" data-target="#quickdeploy_modal">';
- itemContent += '<input class="hidden-xs btn btn-md" style=\'background-color:#ffaaaa;\' id=\'removeFromSB\' type=\'button\' value=\'Remove\'>';
- itemContent += '<span class="hidden-xs"><br />' + item.coordinates[1] + ' ' + item.coordinates[0] + '</span>';
- if (item.myOwn) {
- itemContent += '<br />Own Munzee:<input style=\'margin-top: 5px; margin-left:10px;\' type=\'checkbox\' checked=\'checked\' id=\'check_SB_own\'/>';
- } else {
- itemContent += '<br />Own Munzee:<input style=\'margin-top: 5px; margin-left:10px;\' type=\'checkbox\' id=\'check_SB_own\'/>';
- }
- var captureAreas = ['virtual|captureArea|Virtual', 'poi_filter|capturePOI|POI', 'blast_capture|blastArea|Blast'].map(function (i) {
- return `<div style="display:inline-block;padding:4px;" id="newcheck_${i.split('|')[1]}"><img id="newcheckimg_${i.split('|')[1]}" style="height:36px;width:36px;filter:grayscale(1) opacity(0.4)" src="https://munzee.global.ssl.fastly.net/images/pins/${i.split('|')[0]}.png" /><br/><span style="color:red" id="newchecktext_${i.split('|')[1]}">${i.split('|')[2]}</span></div>`
- }).join('')
- itemContent += `<br /><div style="text-align:center;max-width:300px;"><div style="font-size:1.5em;font-weight:bold;color:green;">Capture Areas</div>${captureAreas}</div>`
- var blockAreas = ['motel|motelArea|Motel/Trail','hotel|hotelArea|Hotel','virtualresort|resortArea|Resort','timeshare|tsArea|Timeshare','vacationcondo|condoArea|Condo','treehouse|treehouseArea|Treehouse','airmystery|airArea|Air Mystery','sirprizewheel|spwArea|Sir Prize Wheel'].map(function (i) {
- return `<div style="display:inline-block;padding:4px;" id="newcheck_${i.split('|')[1]}"><img id="newcheckimg_${i.split('|')[1]}" style="height:36px;width:36px;filter:grayscale(1) opacity(0.4)" src="https://munzee.global.ssl.fastly.net/images/pins/${i.split('|')[0]}.png" /><br/><span style="color:red" id="newchecktext_${i.split('|')[1]}">${i.split('|')[2]}</span></div>`
- }).join('')
- itemContent += `<div style="text-align:center;max-width:300px;"><div style="font-size:1.5em;font-weight:bold;color:red;">Blocked Areas</div>${blockAreas}</div>`
- var scatterAreas = ['scatter|basicScatter|Default','catapult|catapultScatter|Catapult','bowlingball|bowlingScatter|Bowling','joystickfull|joystickScatter|Joystick','joystickfull|joystickSecondScatter|Joystick #2'].map(function (i) {
- return `<div style="display:inline-block;padding:4px;" id="newcheck_${i.split('|')[1]}"><img id="newcheckimg_${i.split('|')[1]}" style="height:36px;width:36px;filter:grayscale(1) opacity(0.4)" src="https://munzee.global.ssl.fastly.net/images/pins/${i.split('|')[0]}.png" /><br/><span style="color:red" id="newchecktext_${i.split('|')[1]}">${i.split('|')[2]}</span></div>`
- }).join('')
- itemContent += `<div style="text-align:center;max-width:300px;"><div style="font-size:1.5em;font-weight:bold;color:blue;">Scatter Areas</div>${scatterAreas}</div>`
- itemContent += '</section>';
- this.itemPopup.setLngLat(item.coordinates)
- .setHTML(itemContent)
- .addTo(map);
- for (var layer in mapSandbox.list[mapSandbox.selectedId].layers) {
- if (mapSandbox.list[mapSandbox.selectedId].layers[layer]) {
- $('#newcheckimg_' + layer).css('filter', 'none');
- $('#newchecktext_' + layer).css('color', 'green');
- }
- }
- $('#check_SB_own').change(function () {
- if (!this.checked) {
- mapSandbox.list[mapSandbox.selectedId].myOwn = 0;
- if (mapSandbox.list[mapSandbox.selectedId].layers.ownArea) {
- mapSandbox.removeLayer(mapSandbox.selectedId, 'ownArea');
- }
- } else {
- mapSandbox.list[mapSandbox.selectedId].myOwn = 1;
- if (circle) {
- mapSandbox.drawCircle(mapSandbox.selectedId, 'ownArea');
- }
- }
- });
- function generate(layer) {
- return function () {
- if (!mapSandbox.list[mapSandbox.selectedId].layers[layer]) {
- mapSandbox.drawCircle(mapSandbox.selectedId, layer);
- $('#newcheckimg_' + layer).css('filter', 'none');
- $('#newchecktext_' + layer).css('color', 'green');
- } else {
- mapSandbox.removeLayer(mapSandbox.selectedId, layer);
- $('#newcheckimg_' + layer).css('filter', 'grayscale(1) opacity(0.4)');
- $('#newchecktext_' + layer).css('color', 'red');
- }
- }
- }
- $('#newcheck_captureArea').click(generate('captureArea'));
- $('#newcheck_capturePOI').click(generate('capturePOI'));
- $('#newcheck_blastArea').click(generate('blastArea'));
- $('#newcheck_motelArea').click(generate('motelArea'));
- $('#newcheck_hotelArea').click(generate('hotelArea'));
- $('#newcheck_resortArea').click(generate('resortArea'));
- $('#newcheck_tsArea').click(generate('tsArea'));
- $('#newcheck_condoArea').click(generate('condoArea'));
- $('#newcheck_treehouseArea').click(generate('treehouseArea'));
- $('#newcheck_airArea').click(generate('airArea'));
- $('#newcheck_spwArea').click(generate('spwArea'));
- $('#newcheck_basicScatter').click(generate('basicScatter'));
- $('#newcheck_catapultScatter').click(generate('catapultScatter'));
- $('#newcheck_bowlingScatter').click(generate('bowlingScatter'));
- $('#newcheck_joystickScatter').click(generate('joystickScatter'));
- $('#newcheck_joystickSecondScatter').click(generate('joystickSecondScatter'));
- $('#popup_title').change(function () {
- this.list[this.selectedId].title = $('#popup_title').val();
- }.bind(this));
- $('#removeFromSB').click(function () {
- this.removeSelected();
- }.bind(this));
- let _this = this;
- $('#openquickdeploymodal').off().click(function () {
- _this.list[_this.selectedId].title = $('#popup_title').val();
- $('#quickdeployoptions').show();
- $('#quickdeploybody').empty();
- });
- $('.qd-type').off().click(function () {
- quick_deploy(
- mapSandbox.list[mapSandbox.selectedId].marker.getLngLat().lat,
- mapSandbox.list[mapSandbox.selectedId].marker.getLngLat().lng,
- $(this).data('typeid'),
- mapSandbox.list[mapSandbox.selectedId].title
- );
- });
- }
- }, 250)
- });
- });