WME Ростовская область 1.0

Creates polygons for Ростовская область

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name                WME Ростовская область 1.0
// @description         Creates polygons for Ростовская область
// @include             https://www.waze.com/editor/*
// @include             https://www.waze.com/*/editor/*
// @include             https://editor-beta.waze.com/editor/*
// @include             https://editor-beta.waze.com/*/editor/*
// @version             1.0
// @grant               none
// @license             http://creativecommons.org/licenses/by-nc-sa/3.0/
// @copyright           2014 davielde (https://greasyfork.org/ru/scripts/8565-wme-mapraid-overlay) 2015-2016 alexletov
// @namespace           https://greasyfork.org/ru/scripts/16104-wme-Ростовская-область-1-0
// @require https://greasyfork.org/scripts/24541-wme-%D0%A0%D0%BE%D1%81%D1%82%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F-%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C-1-0-%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-1/code/WME%20%D0%A0%D0%BE%D1%81%D1%82%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C%2010:%20%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%201.js?version=155985
// @require https://greasyfork.org/scripts/24542-wme-%D0%A0%D0%BE%D1%81%D1%82%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F-%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C-1-0-%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5-2/code/WME%20%D0%A0%D0%BE%D1%81%D1%82%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F%20%D0%BE%D0%B1%D0%BB%D0%B0%D1%81%D1%82%D1%8C%2010:%20%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%202.js?version=155987
// ==/UserScript==

//---------------------------------------------------------------------------------------

// Using data from http://gis-lab.info/qa/osm-adm.html GisLab OSM

// The list of parameters
// SCRIPT_ID = a2016_041691670311_01421478210622069
// SMALL_NAME = Ros-HL
// UNIQUE_NAME = a2016_041691670311_01421478210622069Rostovskajaoblast
// MAIN_REGION_NAME = Ростовская область
// VERSION = 1.0

var VERSION = 1.0;

function prepare_a2016_041691670311_01421478210622069()
{
    try {
        if (!((typeof window.Waze.map !== undefined) && (undefined !== typeof window.Waze.map.events.register) && (undefined !== typeof window.Waze.selectionManager.events.register ) && (undefined !== typeof window.Waze.loginManager.events.register) )) {
            setTimeout(levelUpdater_init, 1000);
            return;
        }
    } catch (err) {
        setTimeout(prepare_a2016_041691670311_01421478210622069, 1000);
        return;
    }

    console.log('WME GPS Tracer: init');

    var userInfo = getElId("user-info");
    if (userInfo === null) {
      window.setTimeout(prepare_a2016_041691670311_01421478210622069, 500);
      return;
    }

    var navTabs = userInfo.getElementsByTagName("ul");
    if (navTabs.length === 0) {
      window.setTimeout(prepare_a2016_041691670311_01421478210622069, 500);
      return;
    }

    if (typeof navTabs[0] === undefined) {
      window.setTimeout(prepare_a2016_041691670311_01421478210622069, 500);
      return;
    }
    var tabContents = userInfo.getElementsByTagName("div");
    if (tabContents.length === 0) {
      window.setTimeout(prepare_a2016_041691670311_01421478210622069, 500);
      return;
    }

    if (typeof tabContents[0] === undefined) {
      window.setTimeout(prepare_a2016_041691670311_01421478210622069, 500);
      return;
    }
    bootstrap_a2016_041691670311_01421478210622069();
}

function bootstrap_a2016_041691670311_01421478210622069()
{
    var bGreasemonkeyServiceDefined = false;

    try {
        bGreasemonkeyServiceDefined = (typeof Components.interfaces.gmIGreasemonkeyService === "object");
    } catch (err) { /* Ignore */ }

    if (typeof unsafeWindow === "undefined" || ! bGreasemonkeyServiceDefined) {
        unsafeWindow = ( function () {
            var dummyElem = document.createElement('p');
            dummyElem.setAttribute('onclick', 'return window;');
            return dummyElem.onclick();
        }) ();
    }

    var addon = document.createElement('section');
    addon.innerHTML = '<b>Ростовская область</b> v' + VERSION + 'a2016_041691670311_01421478210622069';


    section = document.createElement('p');
    section.style.paddingTop = "8px";
    section.style.textIndent = "16px";
    section.id = "a2016_041691670311_01421478210622069";
    section.innerHTML = '<table border=1><tr><td>Цвет</td><td>Регион</td></tr><tr><td bgcolor="2219B2"></td><td>Ростов-на-Дону</td></tr><tr><td bgcolor="580EAD"></td><td>Мясниковский район</td></tr><tr><td bgcolor="FFEC00"></td><td>Неклиновский район</td></tr><tr><td bgcolor="FFC300"></td><td>Таганрог</td></tr><tr><td bgcolor="00AF64"></td><td>Целинский район</td></tr><tr><td bgcolor="FF9200"></td><td>Волгодонской район</td></tr><tr><td bgcolor="FF4900"></td><td>Сальский район</td></tr><tr><td bgcolor="4DDE00"></td><td>Егорлыкский район</td></tr><tr><td bgcolor="00A876"></td><td>Кашарский район</td></tr><tr><td bgcolor="FF5900"></td><td>Зерноградский район</td></tr><tr><td bgcolor="EC0033"></td><td>Усть-Донецкий район</td></tr><tr><td bgcolor="CD0074"></td><td>Чертковский район</td></tr><tr><td bgcolor="A66000"></td><td>Миллеровский район</td></tr><tr><td bgcolor="043C6B"></td><td>Тарасовский район</td></tr><tr><td bgcolor="7608AA"></td><td>Каменский район</td></tr><tr><td bgcolor="028E9B"></td><td>Красносулинский район</td></tr><tr><td bgcolor="A1A500"></td><td>Гуково</td></tr><tr><td bgcolor="2219B2"></td><td>Октябрьский район</td></tr><tr><td bgcolor="580EAD"></td><td>Новошахтинск</td></tr><tr><td bgcolor="FFEC00"></td><td>Шахты</td></tr><tr><td bgcolor="FFC300"></td><td>Новочеркасск</td></tr><tr><td bgcolor="00AF64"></td><td>Веселовский район</td></tr><tr><td bgcolor="FF9200"></td><td>Боковский район</td></tr><tr><td bgcolor="FF4900"></td><td>Белокалитвинский район</td></tr><tr><td bgcolor="4DDE00"></td><td>Багаевский район</td></tr><tr><td bgcolor="00A876"></td><td>Заветинский район</td></tr><tr><td bgcolor="FF5900"></td><td>Кагальницкий район</td></tr><tr><td bgcolor="EC0033"></td><td>Родионово-Несветайский район</td></tr><tr><td bgcolor="CD0074"></td><td>Аксайский район</td></tr><tr><td bgcolor="A66000"></td><td>Азовский район</td></tr><tr><td bgcolor="043C6B"></td><td>Куйбышевский район</td></tr><tr><td bgcolor="7608AA"></td><td>Советский район</td></tr><tr><td bgcolor="028E9B"></td><td>Милютинский район</td></tr><tr><td bgcolor="A1A500"></td><td>Обливский район</td></tr><tr><td bgcolor="2219B2"></td><td>Орловский район</td></tr><tr><td bgcolor="580EAD"></td><td>Морозовский район</td></tr><tr><td bgcolor="FFEC00"></td><td>Тацинский район</td></tr><tr><td bgcolor="FFC300"></td><td>Цимлянский район</td></tr><tr><td bgcolor="00AF64"></td><td>Константиновский район</td></tr><tr><td bgcolor="FF9200"></td><td>Семикаракорский район</td></tr><tr><td bgcolor="FF4900"></td><td>Мартыновский район</td></tr><tr><td bgcolor="4DDE00"></td><td>Пролетарский район</td></tr><tr><td bgcolor="00A876"></td><td>Зимовниковский район</td></tr><tr><td bgcolor="FF5900"></td><td>Шолоховский район</td></tr><tr><td bgcolor="EC0033"></td><td>Дубовский район</td></tr><tr><td bgcolor="CD0074"></td><td>Песчанокопский район</td></tr><tr><td bgcolor="A66000"></td><td>Ремонтненский район</td></tr><tr><td bgcolor="043C6B"></td><td>Каменск-Шахтинский</td></tr><tr><td bgcolor="7608AA"></td><td>Донецк</td></tr><tr><td bgcolor="028E9B"></td><td>Зверево</td></tr><tr><td bgcolor="A1A500"></td><td>Верхнедонской район</td></tr><tr><td bgcolor="2219B2"></td><td>Матвеево-Курганский район</td></tr><tr><td bgcolor="580EAD"></td><td>Волгодонск</td></tr><tr><td bgcolor="FFEC00"></td><td>Азов</td></tr><tr><td bgcolor="FFC300"></td><td>Батайск</td></tr></table>';

    addon.appendChild(section);

    var userTabs = getId('user-info');
    var navTabs = getElementsByClassName('nav-tabs', userTabs)[0];
    var tabContent = getElementsByClassName('tab-content', userTabs)[0];

    var newtab = document.createElement('li');
    newtab.innerHTML = '<a href="#sidepanel-a2016_041691670311_01421478210622069" data-toggle="tab">Ros-HL</a>';
    navTabs.appendChild(newtab);

    addon.id = "sidepanel-a2016_041691670311_01421478210622069";
    addon.className = "tab-pane";
    tabContent.appendChild(addon);

    setTimeout(Inita2016_041691670311_01421478210622069, 1000);
}

function AddPolygona2016_041691670311_01421478210622069(raidLayer,groupPoints,groupColor,groupNumber){

    var mro_Map = unsafeWindow.Waze.map;
    var mro_OL = unsafeWindow.OpenLayers;
    var raidGroupLabel = groupNumber;
    var groupName = groupNumber;

    var style = {
        strokeColor: groupColor,
        strokeOpacity: 0.8,
        strokeWidth: 3,
        fillColor: groupColor,
        fillOpacity: 0.15,
        label: raidGroupLabel,
        labelOutlineColor: "black",
        labelOutlineWidth: 3,
        fontSize: 14,
        fontColor: groupColor,
        fontOpacity: 0.85,
        fontWeight: "bold"
    };

    var attributes = {
        name: groupName,
        number: groupNumber
    };

    var pnt= [];
    for(i=0;i<groupPoints.length;i++){
        convPoint = new OpenLayers.Geometry.Point(groupPoints[i].lon, groupPoints[i].lat).transform(new OpenLayers.Projection("EPSG:4326"), mro_Map.getProjectionObject());
        pnt.push(convPoint);
    }

    var ring = new mro_OL.Geometry.LinearRing(pnt);
    var polygon = new mro_OL.Geometry.Polygon([ring]);

    var feature = new mro_OL.Feature.Vector(polygon,attributes,style);
    raidLayer.addFeatures([feature]);

}

function CurrentRaidLocationa2016_041691670311_01421478210622069(raid_mapLayer){
    var mro_Map = unsafeWindow.Waze.map;

    for(i=0;i<raid_mapLayer.features.length;i++){
        var raidMapCenter = mro_Map.getCenter();
        var raidCenterPoint = new OpenLayers.Geometry.Point(raidMapCenter.lon, raidMapCenter.lat);
        var raidCenterCheck = raid_mapLayer.features[i].geometry.components[0].containsPoint(raidCenterPoint);

        if(raidCenterCheck === true){
            var raidLocationLabel = raid_mapLayer.features[i].attributes.number + ' - ' + $('.WazeControlLocationInfo').text();

            setTimeout(function(){$('.WazeControlLocationInfo').text(raidLocationLabel);}, 50);
            var str = $('.WazeControlLocationInfo').text();

            var n2 = str.indexOf(" - ");

            if(n2 > 0){
                var n = str.length;
                var res = str.substring(n2+2, n);
                var rescount = res.indexOf(" - ");
                var res2 = '';
                if(rescount>0){
                    var n3 = res.length;
                    res2 = res.substring(rescount+2, n3);

                }
                raidLocationLabel = raid_mapLayer.features[i].attributes.number + ' - ' + res2;
            } else {
                raidLocationLabel = raid_mapLayer.features[i].attributes.number + ' - ' + $('.WazeControlLocationInfo').text();
            }
            setTimeout(function(){$('.WazeControlLocationInfo').text(raidLocationLabel);}, 200);
        }
    }
}

function Inita2016_041691670311_01421478210622069(){

    var mro_Map = unsafeWindow.Waze.map;
    var mro_OL = unsafeWindow.OpenLayers;

    var mro_mapLayers = mro_Map.getLayersBy("uniqueName","__a2016_041691670311_01421478210622069Rostovskajaoblast");

    var raid_mapLayer = new mro_OL.Layer.Vector("Районы: Ростовская область", {
        displayInLayerSwitcher: true,
        uniqueName: "__a2016_041691670311_01421478210622069Rostovskajaoblast"
    });

    I18n.translations.en.layers.name["__a2016_041691670311_01421478210622069Rostovskajaoblast"] = "Районы: Ростовская область";
    mro_Map.addLayer(raid_mapLayer);
    raid_mapLayer.setVisibility(true);
    
AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206900 , "#2219B2","Ростов-на-Дону");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206910 , "#580EAD","Мясниковский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206920 , "#FFEC00","Неклиновский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206930 , "#FFC300","Таганрог");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206940 , "#00AF64","Целинский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206950 , "#FF9200","Волгодонской район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206960 , "#FF4900","Сальский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206970 , "#4DDE00","Егорлыкский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206980 , "#00A876","Кашарский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_0142147821062206990 , "#FF5900","Зерноградский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069100 , "#EC0033","Усть-Донецкий район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069110 , "#CD0074","Чертковский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069120 , "#A66000","Миллеровский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069130 , "#043C6B","Тарасовский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069140 , "#7608AA","Каменский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069150 , "#028E9B","Красносулинский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069160 , "#A1A500","Гуково");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069170 , "#2219B2","Октябрьский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069180 , "#580EAD","Новошахтинск");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069190 , "#FFEC00","Шахты");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069200 , "#FFC300","Новочеркасск");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069210 , "#00AF64","Веселовский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069220 , "#FF9200","Боковский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069230 , "#FF4900","Белокалитвинский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069240 , "#4DDE00","Багаевский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069250 , "#00A876","Заветинский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069260 , "#FF5900","Кагальницкий район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069270 , "#EC0033","Родионово-Несветайский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069280 , "#CD0074","Аксайский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069290 , "#A66000","Азовский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069300 , "#043C6B","Куйбышевский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069310 , "#7608AA","Советский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069320 , "#028E9B","Милютинский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069330 , "#A1A500","Обливский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069340 , "#2219B2","Орловский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069350 , "#580EAD","Морозовский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069360 , "#FFEC00","Тацинский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069370 , "#FFC300","Цимлянский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069380 , "#00AF64","Константиновский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069390 , "#FF9200","Семикаракорский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069400 , "#FF4900","Мартыновский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069410 , "#4DDE00","Пролетарский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069420 , "#00A876","Зимовниковский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069430 , "#FF5900","Шолоховский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069440 , "#EC0033","Дубовский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069450 , "#CD0074","Песчанокопский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069460 , "#A66000","Ремонтненский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069470 , "#043C6B","Каменск-Шахтинский");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069480 , "#7608AA","Донецк");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069490 , "#028E9B","Зверево");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069500 , "#A1A500","Верхнедонской район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069510 , "#2219B2","Матвеево-Курганский район");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069520 , "#580EAD","Волгодонск");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069530 , "#FFEC00","Азов");

AddPolygona2016_041691670311_01421478210622069(raid_mapLayer, a2016_041691670311_01421478210622069540 , "#FFC300","Батайск");


    setTimeout(function(){CurrentRaidLocationa2016_041691670311_01421478210622069(raid_mapLayer);}, 3000);
    mro_Map.events.register("moveend", Waze.map, function(){CurrentRaidLocationa2016_041691670311_01421478210622069(raid_mapLayer);});
    mro_Map.events.register("zoomend", Waze.map, function(){CurrentRaidLocationa2016_041691670311_01421478210622069(raid_mapLayer);});

}

                      function getElClass(classname, node) {
    if (!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for (var i = 0, j = els.length; i < j; i++)
        if (re.test(els[i].className)) a.push(els[i]);
    return a;
}

function getElementsByClassName(classname, node) {
    if(!node) node = document.getElementsByTagName("body")[0];
    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for (var i=0,j=els.length; i<j; i++)
        if (re.test(els[i].className)) a.push(els[i]);
        return a;
}

function getId(node) {
    return document.getElementById(node);
}

function getElId(node) {
    return document.getElementById(node);
}

prepare_a2016_041691670311_01421478210622069();