您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Munzee filter map script
当前为
- // ==UserScript==
- // @name MunzeeMap
- // @namespace MunzeeMap
- // @include http*://www.munzee.com/map*
- // @version 2.0.3
- // @grant none
- // @description Munzee filter map script
- // ==/UserScript==
- jQuery(document).ready(function ($) {
- var img_url = 'https://dl.dropboxusercontent.com/u/3657753/munzee/';
- (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
- (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
- m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
- })(window,document,'script','//www.google-analytics.com/analytics.js','ga3');
- ga3('create', 'UA-3267689-27', 'auto');
- ga3('send', 'pageview');
- var icons = [];
- var perFilter = [];
- var filterOn = false;
- var n = 0;
- var i = 0;
- var kiek = [];
- var geoLink;
- $('body').css('position', 'relative').append('<div style="padding: 10px; border-radius: 5px; border: 1px solid #dedede;position: fixed; z-index: 2000; bottom:10px; left: 10px; background: white;" id="filterIcons"></div>');
- $(document).ajaxSuccess(function (event, xhr, settings) {
- kiek = [];
- $.each(allmarkers, function (key, data) {
- var caps = data.number_of_captures;
- if (data.icon.url == 'https://munzee.global.ssl.fastly.net/images/pins/svg/motel.svg?3' && caps < 5) {
- data.icon.url = img_url+'motel' + caps + '.png';
- }
- if (data.icon.url == 'https://munzee.global.ssl.fastly.net/images/pins/svg/hotel.svg?3' && caps < 10) {
- data.icon.url = img_url+'munzee_hotel'+caps+'.png';
- }
- if (data.icon.url == 'https://munzee.global.ssl.fastly.net/images/pins/svg/virtual.svg?3') {
- data.icon.url = img_url+'virtual.png';
- }
- if (kiek[data.icon.url] == undefined) {
- kiek[data.icon.url] = 0;
- }
- kiek[data.icon.url]++;
- if (data.getMap() != null) {
- // add new icon to list
- if ($.inArray(data.icon.url, icons) == -1) {
- icons[i++] = data.icon.url;
- }
- // hide icon if in filter list
- if ($.inArray(data.icon.url, perFilter) != -1) {
- data.setMap(null);
- }
- }
- });
- // ICONS list
- var iconsList = '';
- var style = '';
- var clase = '';
- $.each(icons.sort(), function (key, data) {
- if ($.inArray(data, perFilter) != -1) {
- style = 'opacity:0.4; background: red; border:3px red solid;';
- clase = 'ico_hide';
- } else {
- style = 'background: white; border:3px white solid;';
- clase = 'ico_show';
- }
- if (kiek[data] == undefined) {
- kiek[data] = 0;
- }
- iconsList += '<div style="padding: 0 5px 0 0;float:left;">';
- iconsList += '<div style="text-align: center; font-size: 10px">' + kiek[data] + '</div>';
- iconsList += '<img style="' + style + 'cursor:pointer; border-radius: 500px" class="haideris ' + clase + '" height="32px" src="' + data + '" title="Right mouse click\nto hide other icons" />';
- // iconsList += '<div class="only_this" style="cursor:pointer;text-align: center; font-size: 10px" data-icon="' +data+ '" >ONLY</div>';
- iconsList += '</div>';
- });
- $('#filterIcons').html(iconsList +
- '<div style="float: right">'+
- '</form>' +
- '</div>'+
- '<div style="float: right">' +
- '<a id="geoReload" href="'+geoLink+'" title="Get link to this map position"><i class="fa fa-external-link"></i></a><br />' +
- '<a href="'+geoLink+'" title="Reload map"><i class="fa fa-refresh"></i></a>' +
- '</div>'+
- '<div style="clear:both;height: 1px; overflow: hidden"></div>');
- });
- // hide
- $(document).on('click', '.ico_show.haideris', function () {
- filterOn = true;
- $(this).removeClass('ico_show').addClass('ico_hide').css('opacity', '0.4').css('background', 'red').css('border', '3px red solid');
- var curr = $(this).attr('src');
- perFilter[n++] = curr;
- $.each(allmarkers, function (key, data) {
- if (data.icon.url == curr) {
- data.setMap(null);
- }
- });
- });
- // show
- $(document).on('click', '.ico_hide.haideris', function () {
- filterOn = true;
- $(this).removeClass('ico_hide').addClass('ico_show').css('opacity', '1').css('background', 'white').css('border', '3px white solid');
- var curr = $(this).attr('src');
- perFilter[$.inArray(curr, perFilter)] = null;
- $.each(allmarkers, function (key, data) {
- if (data.icon.url == curr) {
- data.setMap(the_map);
- }
- });
- });
- $(document).on('contextmenu', '.haideris', function (e) {
- filterOn = true;
- $('.haideris').removeClass('ico_show').addClass('ico_hide').css('opacity', '0.4').css('background', 'red').css('border', '3px red solid');
- var curr = $(this).attr('src');
- var tempFilter = [];
- var t = 0;
- $.each(icons, function (key, data) {
- if (curr != data) {
- tempFilter[t++] = data;
- }
- });
- perFilter = tempFilter;
- perFilter[$.inArray(curr, perFilter)] = null;
- $.each(allmarkers, function (key, data) {
- if (data.icon.url != curr) {
- data.setMap(null);
- }
- });
- $(this).removeClass('ico_hide').addClass('ico_show').css('opacity', '1').css('background', 'white').css('border', '3px white solid');
- perFilter[$.inArray(curr, perFilter)] = null;
- $.each(allmarkers, function (key, data) {
- if (data.icon.url == curr) {
- data.setMap(the_map);
- }
- });
- e.preventDefault();
- });
- // GEO
- google.maps.event.addListener(the_map, 'idle', function() {
- var mapCenter = the_map.getCenter();
- var mapZoom = the_map.getZoom();
- var lat = mapCenter.lat();
- var lon = mapCenter.lng();
- var code = geohash.encode( lat, lon, 9 );
- geoLink = 'https://www.munzee.com/map/'+code+'/'+mapZoom;
- $('#geoReload').attr('href',geoLink);
- // console.log(geoLink);
- });
- $(document).on('click','#geoReload', function(){
- window.prompt(" Copy to clipboard: Ctrl+C, Enter ", geoLink);
- return false;
- });
- });