Categorization Map

enter something useful

От 18.08.2015. Виж последната версия.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey, Greasemonkey или Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Violentmonkey.

За да инсталирате този скрипт, трябва да имате инсталирано разширение като Tampermonkey или Userscripts.

За да инсталирате скрипта, трябва да инсталирате разширение като Tampermonkey.

За да инсталирате този скрипт, трябва да имате инсталиран скриптов мениджър.

(Вече имам скриптов мениджър, искам да го инсталирам!)

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да инсталирате разширение като Stylus.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

За да инсталирате този стил, трябва да имате инсталиран мениджър на потребителски стилове.

(Вече имам инсталиран мениджър на стиловете, искам да го инсталирам!)

// ==UserScript==
// @name       Categorization Map
// @version    0.10
// @description  enter something useful
// @match      https://s3.amazonaws.com/mturk_bulk/hits*
// @require     http://code.jquery.com/jquery-latest.min.js
// @copyright  2014+, Tjololo
// @namespace https://greasyfork.org/users/710
// ==/UserScript==

var api = "AIzaSyCZlzXfRd-QhtiVg-FSDue_N4RXNrvSF5E";

API_js_callback = "https://maps.google.com/maps/api/js?sensor=false&callback=initialize";
if (api != "")
    API_js_callback += "&key="+api;

var script = document.createElement('script');
    script.src = API_js_callback;
    var head = document.getElementsByTagName("head")[0];
    (head || document.body).appendChild(script);

var elem = $("p.ng-scope:last").text();
var addy = elem.split(':')[1];
console.log(addy);
var api = "AIzaSyCZlzXfRd-QhtiVg-FSDue_N4RXNrvSF5E";
var zoomlevel = 20;
var googlePrefix = "https://maps.googleapis.com/maps/api/staticmap?markers=size:mid%7Ccolor:red%7C";
var url = googlePrefix + encodeURIComponent(addy.replace(",","")) + "&size=512x512&zoom="+zoomlevel+"&maptype=hybrid&sensor=false";
if (api != "")
    url += "&key="+api;
console.log(url);
var ifrm = document.createElement("img");
ifrm.setAttribute("src", url);
ifrm.setAttribute("id", "map");
ifrm.style.width = 512+"px";
ifrm.style.height = 512+"px";

var zoomlvl = document.createElement("div");
zoomlvl.setAttribute("id","zoom_level");
zoomlvl.innerHTML="Zoom: "+zoomlevel;

//$("div.span7.ng-scope").append(ifrm);
//$("div.span7.ng-scope").append(zoomlvl);
var DIVmapa = document.createElement('div');
DIVmapa.id = 'DIVmapa';
DIVmapa.style.border = '2px coral solid';
DIVmapa.style.cursor = 'pointer';
DIVmapa.style.display = '';
DIVmapa.style.height = '75%';
DIVmapa.style.margin = '1';
DIVmapa.style.position = 'fixed';
DIVmapa.style.padding = '1';
DIVmapa.style.left = '1%';
DIVmapa.style.bottom = '1%';
DIVmapa.style.width = '30%';
DIVmapa.style.zIndex = '99';

var DIVinterna = document.createElement('div');
DIVinterna.id = 'DIVinterna';
DIVinterna.style.height = '100%';
DIVinterna.style.width = '100%';
DIVinterna.style.zIndex = '999';

$("div.row").append(DIVmapa);
DIVmapa.appendChild(DIVinterna);

$("[id='Completely Shaded']").text("A - Completely Shaded");
$("[id='Mostly Shaded']").text("B - Mostly Shaded");
$("[id='Mostly Not Shaded']").text("C - Mostly not Shaded");
$("[id='Completely NOT Shaded']").text("D - Completely NOT Shaded");
$("[id='House Not Visible']").text("E - House Not Visible");
$("#guidelines").hide();

var content = document.getElementById("wrapper");
content.tabIndex = "0";
content.focus();

var element = document.getElementById('preview_overlay');
if (element)
    element.parentNode.removeChild(element);

initialize = setTimeout(function () {
    google = unsafeWindow.google;
    directionsService = new google.maps.DirectionsService();
    directionsDisplay = new google.maps.DirectionsRenderer();

    var PortoAlegre = new google.maps.LatLng(-30.034176,-51.229212);
    var myOptions = {
        zoom: zoomlevel,
        mapTypeId: google.maps.MapTypeId.SATELLITE
    }

    var map = new google.maps.Map(document.getElementById("DIVinterna"), myOptions);
    var geocoder = new google.maps.Geocoder();

    geocodeAddress(geocoder, map);
    
    function geocodeAddress(geocoder, resultsMap) {
        var address = addy;
        geocoder.geocode({'address': address}, function(results, status) {
            if (status === google.maps.GeocoderStatus.OK) {
                resultsMap.setCenter(results[0].geometry.location);
                var marker = new google.maps.Marker({
                    map: resultsMap,
                    position: results[0].geometry.location
                });
            } else {
                alert('Geocode was not successful for the following reason: ' + status);
            }
        });
    }
}, 500);






    document.onkeydown = showkeycode;
    function showkeycode(evt){
        var keycode = evt.keyCode;
        switch (keycode) {
            case 65: //a
                $("[id='Completely Shaded']").click();
                document.getElementById("mturk_form").submit();
                break;
            case 66: //b
                $("[id='Mostly Shaded']").click();
                document.getElementById("mturk_form").submit();
                break;
            case 67: //c
                $("[id='Mostly Not Shaded']").click();
                document.getElementById("mturk_form").submit();
                break;
            case 68: //d
                $("[id='Completely NOT Shaded']").click();
                document.getElementById("mturk_form").submit();
                break;
            case 69: //e
                $("[id='House Not Visible']").click();
                document.getElementById("mturk_form").submit();
                break;
            case 13: //enter
                document.getElementById("mturk_form").submit();
                break;
            case 107: //+
                zoomlevel += 1;
                url = googlePrefix + encodeURIComponent(addy.replace(",","")) + "&size=512x512&zoom="+zoomlevel+"&maptype=hybrid&sensor=false";
                console.log(url);
                document.getElementById("map").setAttribute("src", url);
                document.getElementById("zoom_level").innerHTML="Zoom: "+zoomlevel;
                break;
            case 187: //+
                zoomlevel += 1;
                url = googlePrefix + encodeURIComponent(addy.replace(",","")) + "&size=512x512&zoom="+zoomlevel+"&maptype=hybrid&sensor=false";
                console.log(url);
                document.getElementById("map").setAttribute("src", url);
                document.getElementById("zoom_level").innerHTML="Zoom: "+zoomlevel;
                break;
            case 109: //+
                zoomlevel -= 1;
                url = googlePrefix + encodeURIComponent(addy.replace(",","")) + "&size=512x512&zoom="+zoomlevel+"&maptype=hybrid&sensor=false";
                console.log(url);
                document.getElementById("map").setAttribute("src", url);
                document.getElementById("zoom_level").innerHTML="Zoom: "+zoomlevel;
                break;
            case 189: //+
                zoomlevel -= 1;
                url = googlePrefix + encodeURIComponent(addy.replace(",","")) + "&size=512x512&zoom="+zoomlevel+"&maptype=hybrid&sensor=false";
                console.log(url);
                document.getElementById("map").setAttribute("src", url);
                document.getElementById("zoom_level").innerHTML="Zoom: "+zoomlevel;
                break;
        }
    }