您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Vrstva míst úprav pro nováčky Freedit L1+
当前为
// ==UserScript== // @name Freedit L1+ // @namespace https://greasyfork.org/users/10038-janek250 // @description Vrstva míst úprav pro nováčky Freedit L1+ // @include https://www.waze.com/editor/* // @include https://www.waze.com/*/editor/* // @include https://editor-beta.waze.com/* // @version 0.3.2 // @require http://code.jquery.com/jquery-migrate-1.2.1.js // @grant none // ==/UserScript== // Kopie originálního skriptu davielde/rickzabel https://greasyfork.org/cs/scripts/8443-wme-mega-mapraid-overlay // Novikny ve verzi : zalamování řádku, změna barvy podle stavu //-------------------------------------------------------------------------------------- /*definice trvalých proměných*/ //var Freedit; var poradi = []; var jmeno = []; var vlozil = []; var stav = []; var priority = []; var link = []; var konec = 0; var barva = ["#00BBFF","#FFAE00","#FFFF00","#5E8F47","#FF0000"]; //HTML barvy modrá = #00BBFF oranžová = #FFAE00 žlutá = #FFFF00 zelená = #5E8F47 červená = #FF0000 //Vytvoření vrstvy function bootstrap_MapRaidOverlay() { 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(); }) (); } /* begin running the code! */ setTimeout(InitMapRaidOverlay, 1000); } //definování funkce a vzhled polygonu function AddRaidPolygon(raidLayer,groupPoints,groupColor,groupNumber){ var mro_Map = unsafeWindow.Waze.map; var mro_OL = unsafeWindow.OpenLayers; var raidGroupLabel = 'Freedit ' + groupNumber; var groupName = 'RaidGroup' + groupNumber; var style = { //nastavení vzhledu polygonu strokeColor: groupColor, strokeOpacity: .7, //pruhlednost čáry strokeWidth: 2, //toušťka obvodové čáry fillColor: groupColor, fillOpacity: 0.10, //průhlednost výplně label: raidGroupLabel, labelOutlineColor: "black", //linka kolem textu labelOutlineWidth: 3, //šířka linky fontSize: 14, fontColor: groupColor, fontOpacity: .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()); //console.log('MapRaid: ' + JSON.stringify(groupPoints[i]) + ', ' + groupPoints[i].lon + ', ' + groupPoints[i].lat); 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]); } //funkce vycuc lon / lat / zoom z permalinku function getQueryString(link, name) { var pos = link.indexOf( name + '=' ) + name.length + 1; var len = link.substr(pos).indexOf('&'); if (-1 == len) len = link.substr(pos).length; return link.substr(pos,len); } //funkce ?? function CurrentRaidLocation(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); //console.log('MapRaid: ' + raid_mapLayer.features[i].attributes.number + ': ' + raidCenterCheck); if(raidCenterCheck === true){ var raidLocationLabel = 'Editorův ráj - '/* + raid_mapLayer.features[i].attributes.number + ' - '*/ + $('.WazeControlLocationInfo').text(); setTimeout(function(){$('.WazeControlLocationInfo').text(raidLocationLabel);},200); } } } //funkce inicializace ?? function InitMapRaidOverlay(){ var mro_Map = unsafeWindow.Waze.map; var mro_OL = unsafeWindow.OpenLayers; //if (!mro_Map) return; //if (!mro_OL) return; var mro_mapLayers = mro_Map.getLayersBy("uniqueName","Freedit L1+"); var raid_mapLayer = new mro_OL.Layer.Vector("Freedit L1+", { displayInLayerSwitcher: true, uniqueName: "Freedit L1+" }); I18n.translations.en.layers.name["Freedit L1+"] = "Freedit L1+"; mro_Map.addLayer(raid_mapLayer); raid_mapLayer.setVisibility(true); /*vytvoření polygonu manualně B1 -> B2 -> B3 -> B4 var Freedit01 = [{lon:'13.17591',lat:'49.42975'},{lon:'13.18600',lat:'49.42697'},{lon:'13.17283',lat:'49.41340'},{lon:'13.15102',lat:'49.41885'}]; AddRaidPolygon(raid_mapLayer, Freedit01,"#00BBFF","01 Poleň"); */ /* vytvoření polygonu manuálně z lon / lat / zoom //FREEDIT 01 https://www.waze.com/cs/editor/?env=row&lon=13.17809&lat=49.42537&layers=2021&zoom=4 var x = 13.17809; //zde zadat z permalinku lon var y = 49.42537; //zde zadat z permalinku lat var zoom = 4; //zde hodnotu zoom if(zoom == 5) {var zx = 0.006; var zy = 0.0020;} if(zoom == 4) {var zx = 0.011; var zy = 0.0040;} if(zoom == 3) {var zx = 0.022; var zy = 0.0080;} if(zoom == 2) {var zx = 0.044; var zy = 0.0160;} var b1x = x - zx; var b1y = y + zy; var b2x = x + zx; var b3y = y - zy; var Freedit01 = [{lon:b1x,lat:b1y},{lon:b2x,lat:b1y},{lon:b2x,lat:b3y},{lon:b1x,lat:b3y}]; AddRaidPolygon(raid_mapLayer, Freedit01,"#00BBFF","01 Poleň");*/ for (var i = 0; i < konec; i++) { var href = link[i]; //kde link je údaj z tabulky ve sloupci permalink var x = getQueryString(href, 'lon'); var y = getQueryString(href, 'lat'); var zoom = parseInt(getQueryString(href, 'zoom')); if(zoom == 5) {var zx = 0.006; var zxn = -0.006; var zy = 0.0020; var zyn = -0.0020;} if(zoom == 4) {var zx = 0.011; var zxn = -0.011; var zy = 0.0040; var zyn = -0.0040;} if(zoom == 3) {var zx = 0.022; var zxn = -0.022; var zy = 0.0080; var zyn = -0.0080;} if(zoom == 2) {var zx = 0.044; var zxn = -0.044; var zy = 0.0160; var zyn = -0.0160;} var b1x = x - zx; var b1y = y - zyn; var b2x = x - zxn; var b3y = y - zy; var Freedit01 = [{lon:b1x,lat:b1y},{lon:b2x,lat:b1y},{lon:b2x,lat:b3y},{lon:b1x,lat:b3y}]; //alert('Vlozil : ' + vlozil[i]); AddRaidPolygon(raid_mapLayer, Freedit01, barva[stav[i]], poradi[i] + '\n' + jmeno[i] + '\n vložil : ' + vlozil[i] ); // } setTimeout(function(){CurrentRaidLocation(raid_mapLayer);},3000); mro_Map.events.register("moveend", Waze.map, function(){CurrentRaidLocation(raid_mapLayer);}); mro_Map.events.register("zoomend", Waze.map, function(){CurrentRaidLocation(raid_mapLayer);}); } $.getJSON('https://spreadsheets.google.com/feeds/list/1wywD5uYNmejO_t6Gufzu5tBW0SeVAFdr2KVdeSY1mWg/od6/public/values?alt=json', function(data) { for (var i = 0; i < data.feed.entry.length; i++) { poradi[i] = data.feed.entry[i].gsx$cislo.$t; jmeno[i] = data.feed.entry[i].gsx$nazev.$t; vlozil[i] = data.feed.entry[i].gsx$vlozil.$t; stav[i] = data.feed.entry[i].gsx$stav.$t; priority[i] = data.feed.entry[i].gsx$priorita.$t; link[i] += data.feed.entry[i].gsx$permalink.$t; konec = data.feed.entry.length; } }); bootstrap_MapRaidOverlay(); /*-------------------------------------------------------------------------------------- poznámky pod čarou :D //alert('Hodnota: ' + konec); lon = lon.replace(".", ","); //změna . na , if(zoom == 5) {var zx = 0.006; var zy = 0.0020;} if(zoom == 4) {var zx = 0.011; var zy = 0.0040;} if(zoom == 3) {var zx = 0.022; var zy = 0.0080;} if(zoom == 2) {var zx = 0.044; var zy = 0.0160;} */