WME Permalink to several Maps CH

WME P2SM für die Schweiz

  1. // ==UserScript==
  2. // @name WME Permalink to several Maps CH
  3. // @description WME P2SM für die Schweiz
  4. // @namespace https://greatest.deepsurf.us/de/users/863740-horst-wittlich
  5. // @version 2022.22.07.01
  6. // @match https://*.waze.com/editor*
  7. // @match https://*.waze.com/*/editor*
  8. // @icon https://i.ibb.co/ckSvk59/waze-icon.png
  9. // @grant none
  10. // @license MIT
  11. // ==/UserScript==
  12.  
  13. // Mini howto:
  14. // 1) install this script as GitHub script
  15. // 2) Click on buttons on the sidebar to open selected map service with coordinates coming from WME
  16.  
  17. var p2sm_version = "2022.21.07.01";
  18. function getQueryString (link, name)
  19. {
  20. var pos = link.indexOf(name + '=' ) + name.length + 1;
  21. var len = link.substr(pos).indexOf('&');
  22. if (-1 == len) len = link.substr(pos).length;
  23. return link.substr(pos,len);
  24. }
  25.  
  26. function CorrectZoom (link)
  27. {
  28. var found = link.indexOf('livemap');
  29. return (-1 == found)?13:2;
  30. }
  31.  
  32. function add_buttons()
  33. {
  34. if (document.getElementById('user-info') == null) {
  35. setTimeout(add_buttons, 500);
  36. console.log('user-info element not yet available, page still loading');
  37. return;
  38. }
  39. if (!W.loginManager.user) {
  40. W.loginManager.events.register('login', null, add_buttons);
  41. W.loginManager.events.register('loginStatus', null, add_buttons);
  42. // Double check as event might have triggered already
  43. if (!W.loginManager.user) {
  44. return;
  45. }
  46. }
  47.  
  48. var btn0 = $('<button style="width: 90px;height: 24px;font-size:90%;">ß-Switch</button>');
  49. btn0.click(function(){
  50. var mapsUrl;
  51. // var href = $('.WazeControlPermalink a').attr('href');
  52. var href = document.getElementsByClassName('WazeControlPermalink')[0].getElementsByClassName('fa fa-link permalink')[0].href;
  53. var lon = getQueryString(href, 'lon');
  54. var lat = getQueryString(href, 'lat');
  55. var zoom = parseInt(getQueryString(href, 'zoom'));
  56. var newzoom = document.W.map.zoom;
  57.  
  58.  
  59. // alert(href);
  60. var beta = href.indexOf('beta');
  61. if (beta >= 0){
  62. // mapsUrl = 'https://www.waze.com/editor/?lon=' + lon + '&lat=' + lat + '&zoom=' + (zoom-12);
  63. mapsUrl = href.replace('beta','www');
  64. // alert("beta->www: " + mapsUrl);
  65.  
  66. }
  67. else {
  68. // mapsUrl = 'https://beta.waze.com/editor/?lon=' + lon + '&lat=' + lat + '&zoom=' + zoom;
  69. mapsUrl = href.replace('www','beta');
  70. // alert("www->beta: " + mapsUrl);
  71. }
  72. window.open(mapsUrl);
  73. });
  74.  
  75. var btn1 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://bit.ly/3bltdQi);background-repeat: no-repeat;border-radius: 7px">Google</button>');
  76. btn1.click(function(){
  77. var href = $('.WazeControlPermalink a').attr('href');
  78.  
  79. var lon = getQueryString(href, 'lon');
  80. var lat = getQueryString(href, 'lat');
  81. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  82. zoom = W.map.getOLMap().getZoom()
  83. var mapsUrl = 'https://www.google.com/maps/@' + lat + ',' + lon + ',' + zoom + 'z';
  84.  
  85. window.open(mapsUrl,'_blank');
  86. });
  87.  
  88. var btn5 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://i.ibb.co/WsH15zC/Apple-Jetzt.png);background-repeat: no-repeat;border-radius: 7px"> Apple</button>');
  89. btn5.click(function(){
  90. var href = $('.WazeControlPermalink a').attr('href');
  91.  
  92. var lon = getQueryString(href, 'lon');
  93. var lat = getQueryString(href, 'lat');
  94. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  95. zoom = zoom > 19 ? 19 : zoom;
  96. var mapsUrl = 'https://duckduckgo.com/?q=' + lat + ',' + lon + ',' + zoom + '&iaxm=maps';
  97.  
  98. window.open(mapsUrl,'_blank');
  99. });
  100.  
  101.  
  102. var btn2 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://bit.ly/2ESClzU);background-repeat: no-repeat;border-radius: 7px"> Bing</button>');
  103. btn2.click(function(){
  104. var href = $('.WazeControlPermalink a').attr('href');
  105.  
  106. var lon = getQueryString(href, 'lon');
  107. var lat = getQueryString(href, 'lat');
  108. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  109.  
  110. zoom = zoom > 19 ? 19 : zoom;
  111. var mapsUrl = ' http://www.bing.com/maps/default.aspx?v=2&cp=' + lat + '~' + lon + '&lvl=' + (zoom-1) + '&sty=h';
  112. window.open(mapsUrl,'_blank');
  113. });
  114.  
  115. var btn3a = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://bit.ly/3jCiB2j);background-repeat: no-repeat;border-radius: 7px">OSM</button>');
  116. btn3a.click(function(){
  117. var href = $('.WazeControlPermalink a').attr('href');
  118.  
  119. var lon = getQueryString(href, 'lon');
  120. var lat = getQueryString(href, 'lat');
  121. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  122. zoom = W.map.getOLMap().getZoom()
  123.  
  124. var mapsUrl = 'http://www.openstreetmap.org/#map=' + zoom + '/'+ lat + '/' + lon;
  125. //var mapsUrl = 'http://www.openstreetmap.org/?lat=' + lat + '&lon=' + lon + '&zoom=' + zoom + '&layers=M';
  126. //var mapsUrl = 'http://osm.clapps.net/?ll=' + lat + ',' + lon + '&z=' + zoom;
  127. window.open(mapsUrl,'_blank');
  128. });
  129.  
  130. var btn3b = $('<button style="width: 90px;height: 24px;font-size:90%;color: Crimson">OSM/bing</button>');
  131. btn3b.click(function(){
  132. var href = $('.WazeControlPermalink a').attr('href');
  133.  
  134. var lon = getQueryString(href, 'lon');
  135. var lat = getQueryString(href, 'lat');
  136. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  137.  
  138. zoom = zoom > 19 ? 19 : zoom;
  139. var mapsUrl = 'http://mvexel.dev.openstreetmap.org/bingimageanalyzer/?lat=' + lat + '&lon=' + lon + '&zoom=' + zoom;
  140. window.open(mapsUrl,'_blank');
  141. });
  142.  
  143. var btn4 = $('<button style="width: 90px;height: 24px;font-size:90%;">ÖAMTC</button>');
  144. btn4.click(function(){
  145. var href = $('.WazeControlPermalink a').attr('href');
  146.  
  147. var lon = getQueryString(href, 'lon');
  148. var lat = getQueryString(href, 'lat');
  149. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  150.  
  151. zoom = 10-2*zoom;
  152. zoom = (zoom<2)? 1 : zoom;
  153. var mapsUrl = 'http://www.oeamtc.at/maps/?lat='+lat+'&lon='+lon+'&zoom='+zoom;
  154. window.open(mapsUrl,'_blank');
  155. });
  156.  
  157. var btn6 = $('<button style="width: 90px;height: 24px;font-size:90%;color: Crimson">geo.admin</button>');
  158. btn6.click(function(){
  159. var href = $('.WazeControlPermalink a').attr('href');
  160.  
  161. var lon = getQueryString(href, 'lon');
  162. var lat = getQueryString(href, 'lat');
  163. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href); // +5
  164. var phi1 = ((lat * 3600)-169028.66)/10000;
  165. var lmd1 = ((lon * 3600)-26782.5)/10000;
  166. var x = 200147.07 + 308807.95 * phi1 + 3745.25 * lmd1 * lmd1 + 76.63 * phi1 * phi1 + 119.79 * phi1 * phi1 * phi1 - 194.56 * lmd1 * lmd1 * phi1;
  167. var y = 600072.37 + 211455.93 * lmd1 - 10938.51 * lmd1 * phi1 - 0.36 * lmd1 * phi1 * phi1 - 44.54 * lmd1 * lmd1 * lmd1;
  168. var mapsUrl = 'http://map.geo.admin.ch/?Y='+y.toFixed(0)+'&X='+x.toFixed(0)+'&zoom='+zoom+'&bgLayer=ch.swisstopo.pixelkarte-farbe&time_current=latest&lang=de';
  169. window.open(mapsUrl,'_blank');
  170. });
  171.  
  172. /*
  173. Basemap (EPSG:3857)
  174. double x = lon * 20037508.34 / 180;
  175. double y = Math.Log(Math.Tan((90 + lat) * Math.PI / 360)) / (Math.PI / 180);
  176. y = y * 20037508.34 / 180;
  177. return new double[] {x, y};
  178. */
  179. var btn7 = $('<button style="width: 90px;height: 24px;font-size:90%;">basemap.at</button>');
  180. btn7.click(function(){
  181. var href = $('.WazeControlPermalink a').attr('href');
  182.  
  183. var lon = getQueryString(href, 'lon');
  184. var lat = getQueryString(href, 'lat');
  185. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  186. if (zoom>19) zoom=19;
  187. var x = lon / 180 * 20037508.34;
  188. var y = Math.log(Math.tan((90 + lat*1) * Math.PI / 360)) / Math.PI;
  189. y = y * 20037508.34;
  190. var mapsUrl = 'http://www.basemap.at/application/index.html#{"center":['+x.toFixed(10)+','+y.toFixed(10)+'],"zoom":'+zoom+',"rotation":0,"layers":"1000000000"}';
  191. window.open(mapsUrl,'_blank');
  192. });
  193.  
  194. // http://map.connectpr.org/?center=-7347637.4238354815,2079399.6776592892&scale=9027.977411&layers=
  195. var btn8 = $('<button style="width: 90px;height: 24px;font-size:90%;">PR</button>');
  196. btn8.click(function(){
  197. var href = $('.WazeControlPermalink a').attr('href');
  198.  
  199. var lon = getQueryString(href, 'lon');
  200. var lat = getQueryString(href, 'lat');
  201. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  202.  
  203. var x = lon / 180 * 20037508.34;
  204. var y = Math.log(Math.tan((90 + lat*1) * Math.PI / 360)) / Math.PI;
  205. y = y * 20037508.34;
  206. if (zoom > 8) zoom = 8;
  207. zoom = 100000/(Math.pow(2,zoom-1));
  208. var mapsUrl = 'http://map.connectpr.org/?center='+x.toFixed(10)+','+y.toFixed(10)+'&scale='+zoom.toFixed(1)+'&layers={"layers":[{"name":"Layers","show": [14]}], "alpha": 1}';
  209. window.open(mapsUrl,'_blank');
  210. });
  211.  
  212. // http://www.viamichelin.de/print/map?latitude=48.2638198&longitude=16.423198&zoom=16&address=&departure&arrival
  213. var btn9 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://bit.ly/3hSLI0O);background-repeat: no-repeat;border-radius: 7px""> ViaM</button>');
  214. btn9.click(function(){
  215. var href = $('.WazeControlPermalink a').attr('href');
  216.  
  217. var lon = getQueryString(href, 'lon');
  218. var lat = getQueryString(href, 'lat');
  219. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  220.  
  221. zoom = zoom > 19 ? 19 : zoom;
  222.  
  223. //var mapsUrl = 'http://www.viamichelin.de/1.34.1/html/michelinmap.html?lat=' + lat + '&longitude=' + lon + '&zoom=' + zoom + '&headerLabel=Karten %26 Routenplaner&apiJsConfigUrl=%2Fapijs%2F1.11.0%2Fapi%2Fjs%3Fkey%3DJSBS20110216111214120400892678%24166489%26lang%3Ddeu';
  224. //window.open(mapsUrl,'_blank');
  225.  
  226. //var mapsUrl = 'http://www.viamichelin.de/print/map?latitude=' + lat + '&longitude=' + lon + '&zoom=' + zoom + '&address=&departure&arrival';
  227. //window.open(mapsUrl,'_blank');
  228. var mapsUrl = 'http://www.viamichelin.de/web/Traffic?position=' + lat + ';' + lon + ';' + (zoom-1) ;
  229. window.open(mapsUrl,'_blank');
  230. });
  231.  
  232. // https://wego.here.com/?map=53.24623,7.77117,18,satellite&x=ep
  233. var btn10 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://bit.ly/2YZi7eS);background-repeat: no-repeat;border-radius: 7px""> Here</button>');
  234. btn10.click(function(){
  235. var href = $('.WazeControlPermalink a').attr('href');
  236.  
  237. var lon = getQueryString(href, 'lon');
  238. var lat = getQueryString(href, 'lat');
  239. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  240.  
  241. zoom = zoom > 19 ? 19 : zoom-1;
  242.  
  243. var mapsUrl = 'https://wego.here.com/?map=' + lat + ',' + lon + ',' + zoom + ',satellite&x=ep';
  244. window.open(mapsUrl,'_blank');
  245. });
  246.  
  247.  
  248. var btn95 = $('<button style="width: 90px;height: 24px;font-size:90%;color: CornflowerBlue;background-image: url(http://rf.revolvermaps.com/w/3/s/a/0/40/2/ffffff/010020/aa0000/5d8h9swr38l.png);background-repeat: no-repeat;border-radius: 7px">&nbsp;&nbsp;Stats</button>');
  249. btn95.click(function(){
  250. var href = $('.WazeControlPermalink a').attr('href');
  251. var mapsUrl = 'https://www.revolvermaps.com/livestats/5d8h9swr38l/';
  252. window.open(mapsUrl,'_blank');
  253. });
  254.  
  255. var btn11 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkGreen;background-image: url(https://bit.ly/2DlCYBo);background-repeat: no-repeat;border-radius: 7px">&nbsp;&nbsp;&nbsp;&nbsp;Mapillary</button>');
  256. btn11.click(function(){
  257. var href = $('.WazeControlPermalink a').attr('href');
  258.  
  259. var lon = getQueryString(href, 'lon');
  260. var lat = getQueryString(href, 'lat');
  261. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  262.  
  263.  
  264. zoom = zoom-3;
  265. // zoom = 20.0 - zoom;
  266. // var lat1 = lat - (0.0010 * zoom);
  267. // var lat2 = lat + (0.0010 * zoom);
  268. // var lon1 = lon - (0.0005 * zoom);
  269. // var lon2 = lon + (0.0005 * zoom);
  270.  
  271. // var mapsUrl = 'https://www.mapillary.com/app/?lat=' + lat1.toFixed(5) + '&lng=' + lat2.toFixed(5) + '&focus=mapnu=false'
  272. var mapsUrl = 'https://www.mapillary.com/app/?lat=' + lat + '&lng=' + lon +'&z=' + zoom;
  273. // alert(mapsUrl);
  274. window.open(mapsUrl,'_blank');
  275. });
  276.  
  277. // https://www.openstreetbrowser.org/#map=18/51.18321/6.71228&categories=car_maxspeed
  278. var btn12 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkGreen;background-image: url(https://bit.ly/2Gfre4s);background-repeat: no-repeat;border-radius: 7px">&nbsp;&nbsp;&nbsp;OSBrowser</button>');
  279. btn12.click(function(){
  280. var href = $('.WazeControlPermalink a').attr('href');
  281.  
  282. var lon = getQueryString(href, 'lon');
  283. var lat = getQueryString(href, 'lat');
  284. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  285. zoom = W.map.getOLMap().getZoom() -1;
  286.  
  287. var mapsUrl = 'https://www.openstreetbrowser.org/#map=' + zoom + '/' + lat + '/' + lon + '&categories=car_maxspeed';
  288. window.open(mapsUrl,'_blank');
  289. });
  290.  
  291. // https://en.mappy.com/#/12/M2/THome/N0,0,15.69021,48.4738/Z19/
  292. var btn13 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://bit.ly/2EVea3B);background-repeat: no-repeat;border-radius: 7px"> Mappy</button>');
  293. btn13.click(function(){
  294. var href = $('.WazeControlPermalink a').attr('href');
  295.  
  296. var lon = getQueryString(href, 'lon');
  297. var lat = getQueryString(href, 'lat');
  298. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  299. zoom = W.map.getOLMap().getZoom() -1;
  300.  
  301. var mapsUrl = 'https://en.mappy.com/#/12/M2/THome/N0,0,' + lon + ',' + lat + '/Z' + zoom + '/';
  302. window.open(mapsUrl,'_blank');
  303. });
  304.  
  305. // https://www.msn.com/de-de/traffic?locale=de-de&cp=51.23013,%206.82414&lvl=19&sty=h
  306. var btn15 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://i.ibb.co/zsMRVGB/Microsoft-23401-20.png);background-repeat: no-repeat;border-radius: 7px">&nbsp;MSN</button>');
  307. btn15.click(function(){
  308. var href = $('.WazeControlPermalink a').attr('href');
  309.  
  310. var lon = getQueryString(href, 'lon');
  311. var lat = getQueryString(href, 'lat');
  312. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  313. zoom = W.map.getOLMap().getZoom()
  314.  
  315. var mapsUrl = 'https://www.msn.com/de-de/traffic?locale=de-de&cp=' + lat + ',%20' + lon + '&lvl=' + zoom;
  316. window.open(mapsUrl,'_blank');
  317. });
  318.  
  319. var btn16 = $('<button style="width: 90px;height: 24px;font-size:90%;color: CornflowerBlue;background-image: url(https://i.ibb.co/Np5chv4/CH-Icon-20.png);background-repeat: no-repeat;border-radius: 7px">&nbsp;&nbsp;GeoAdmin</button>');
  320. btn16.click(function(){
  321. var href = $('.WazeControlPermalink a').attr('href');
  322.  
  323. var lon = getQueryString(href, 'lon');
  324. var lat = getQueryString(href, 'lat');
  325. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  326.  
  327. zoom = zoom > 11 ? 19 : zoom;
  328. var phi1 = ((lat * 3600)-169028.66)/10000;
  329. var lmd1 = ((lon * 3600)-26782.5)/10000;
  330. var x = 200147.07 + 308807.95 * phi1 + 3745.25 * lmd1 * lmd1 + 76.63 * phi1 * phi1 + 119.79 * phi1 * phi1 * phi1 - 194.56 * lmd1 * lmd1 * phi1;
  331. var y = 600072.37 + 211455.93 * lmd1 - 10938.51 * lmd1 * phi1 - 0.36 * lmd1 * phi1 * phi1 - 44.54 * lmd1 * lmd1 * lmd1;
  332. var mapsUrl = 'https://map.geo.admin.ch/?zoom=11&topic=ech&lang=de&bgLayer=ch.swisstopo.pixelkarte-farbe&layers=ch.bfs.gebaeude_wohnungs_register,ch.kantone.cadastralwebmap-farbe,ch.swisstopo.swissimage-product&catalogNodes=457,532,687,458,477,485,491,510,527,1743&layers_visibility=false,false,true&layers_timestamp=,,current&Y='+y.toFixed(0)+'&X='+x.toFixed(0);
  333. window.open(mapsUrl,'_blank');
  334. });
  335.  
  336. var btn19 = $('<button style="width: 90px;height: 24px;font-size:90%;color: CornflowerBlue;background-image: url(https://bit.ly/2QJJ8OZ);background-repeat: no-repeat;border-radius: 7px">&nbsp;&nbsp;WebAtlas</button>');
  337. btn19.click(function(){
  338. var href = $('.WazeControlPermalink a').attr('href');
  339.  
  340. var lon = parseFloat(getQueryString(href, 'lon'));
  341. var lat = parseFloat(getQueryString(href, 'lat'));
  342. var zoom = parseInt(getQueryString(href, 'zoom')) + CorrectZoom(href);
  343. zoom = zoom -6.5;
  344.  
  345. // Using Proj4js to transform coordinates. See http://proj4js.org/
  346. var script = document.createElement("script"); // dynamic load the library from https://cdnjs.com/libraries/proj4js
  347. script.type = 'text/javascript';
  348. script.src = 'https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.4/proj4.js';
  349. document.getElementsByTagName('head')[0].appendChild(script); // Add it to the end of the head section of the page (could change 'head' to 'body' to add it to the end of the body section instead)
  350. script.onload = popAtlas; //wait till the script is downloaded & executed
  351. function popAtlas() {
  352. //just a wrapper for onload
  353. if (proj4) {
  354. var firstProj ='';
  355. firstProj = "+proj=utm +zone=32 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs";
  356. var utm = proj4(firstProj,[lon,lat]);
  357. var mapsUrl = 'https://sg.geodatenzentrum.de/web_bkg_webmap/applications/webatlasde/webatlasde.html?zoom=' + zoom + '&lon=' + utm[0] + '&lat=' + utm[1] + '&layers=B0T';
  358. window.open(mapsUrl,'_blank');
  359. }
  360. }
  361.  
  362. });
  363.  
  364. // https://mydrive.tomtom.com/de_de/#mode=viewport+viewport=49.76137,9.70753,15,0,-0+ver=3
  365. var btn18 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkSlateGrey;background-image: url(https://bit.ly/2QJPZry);padding-left: 10px;padding-right: 2px;background-repeat: no-repeat;border-radius: 7px;title="TomTom">&nbsp; TomTom</button>');
  366. btn18.click(function(){
  367. var href = $('.WazeControlPermalink a').attr('href');
  368.  
  369. var lon = getQueryString(href, 'lon');
  370. var lat = getQueryString(href, 'lat');
  371. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  372. zoom = W.map.getOLMap().getZoom() -1;
  373.  
  374. var mapsUrl = 'https://mydrive.tomtom.com/de_de/#mode=viewport+viewport=' + lat +',' + lon +',' + zoom + ',0,-0+ver=3';
  375. window.open(mapsUrl,'_blank');
  376.  
  377. });
  378.  
  379. // Waze Reportingtool: https://www.waze.com/reporting/location?lat=49.50939698036761&lng=6.743288040161134&zoom=16
  380. var btn20 = $('<button style="width: 90px;height: 24px;font-size:90%;color: LightSeaGreen;background-image: url(https://bit.ly/3jEtjWg);padding-left: 10px;padding-right: 2px;background-repeat: no-repeat;border-radius: 7px;title="Reporting">&nbsp; Reporting</button>');
  381. btn20.click(function(){
  382. var href = $('.WazeControlPermalink a').attr('href');
  383.  
  384. var lon = getQueryString(href, 'lon');
  385. var lat = getQueryString(href, 'lat');
  386. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  387. zoom = W.map.getOLMap().getZoom() -1;
  388.  
  389. var mapsUrl = 'https://www.waze.com/reporting/location?lat=' + lat + '&lng=' + lon + '&zoom=' + zoom;
  390. window.open(mapsUrl,'_blank');
  391. });
  392.  
  393. // https://kartaview.org/map/@48.110432829485546,11.527876853942873,16z
  394. var btn21 = $('<button style="width: 90px;height: 24px;font-size:90%;color: DarkGreen;background-image: url(https://bit.ly/3sNABM3);background-repeat: no-repeat;border-radius: 7px">&nbsp;&nbsp; KartaView</button>');
  395. btn21.click(function(){
  396. var href = $('.WazeControlPermalink a').attr('href');
  397.  
  398. var lon = getQueryString(href, 'lon');
  399. var lat = getQueryString(href, 'lat');
  400. var zoom = [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];
  401. zoom = W.map.getOLMap().getZoom() -1;
  402.  
  403. var mapsUrl = 'https://kartaview.org/map/@' + lat + ',' + lon + ',' + zoom + 'z';
  404. window.open(mapsUrl,'_blank');
  405. });
  406.  
  407. var txtbtn1 = $('<button style="width: 285px;height: 24px; border: 1px solid silver; font-size:80%; font-weight: bold; color: DarkSlateGrey; background-color: ghostwhite; border-radius: 7px;">ALLGEMEINE KARTEN</button>');
  408. var txtbtn3 = $('<button style="width: 285px;height: 24px; border: 1px solid silver; font-size:80%; font-weight: bold; color: DarkGreen; background-color: ghostwhite; border-radius: 7px">GESCHWINDIGKEITEN / BILDER</button>');
  409. var txtbtn4 = $('<button style="width: 285px;height: 24px; border: 1px solid silver; font-size:80%; font-weight: bold; color: CornflowerBlue; background-color: ghostwhite; border-radius: 7px">GEOPORTALE</button>');
  410. var txtbtn5 = $('<button style="width: 285px;height: 24px; border: 1px solid silver; font-size:80%; font-weight: bold; color: LightSeaGreen; background-color: ghostwhite; border-radius: 7px;">MISC</button>');
  411. var spacer = '<p style="margin-bottom:10px">'
  412. var safeSourcesText = $('<div><i class="w-icon w-icon-warning" style="font-size: 30px;float: left;margin-right: 5px;margin-bottom: 20px;"></i> Hinweis: Einige der externen Karten sind als Informationsquelle zur Kartenbearbeitung nicht zulässig!</div>');
  413.  
  414. // add new box to left of the map
  415. var addon = document.createElement("section");
  416. addon.id = "p2sm-addon";
  417.  
  418. addon.innerHTML =
  419. '<a href="https://greatest.deepsurf.us/de/scripts/448195-wme-permalink-to-several-maps-ch" target="_blank">Auf Updates überprüfen / V' + p2sm_version + '</a><p>';
  420.  
  421. //alert("Create Tab");
  422. var userTabs = document.getElementById('user-info');
  423. var navTabs = document.getElementsByClassName('nav-tabs', userTabs)[0];
  424. var tabContent = document.getElementsByClassName('tab-content', userTabs)[0];
  425. var newtab = '';
  426.  
  427. newtab = document.createElement('li');
  428. newtab.innerHTML = '<a href="#sidepanel-p2sm" data-toggle="tab">P2SM</a>';
  429. navTabs.appendChild(newtab);
  430.  
  431. addon.id = "sidepanel-p2sm";
  432. addon.className = "tab-pane";
  433. tabContent.appendChild(addon);
  434.  
  435. $("#sidepanel-p2sm").append(txtbtn1); // ■■■■■ "ALLGEMEINE KARTEN" ■■■■■
  436. $("#sidepanel-p2sm").append(spacer);
  437. $("#sidepanel-p2sm").append(btn1); //GOOGLE
  438. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  439. $("#sidepanel-p2sm").append(btn2); // BING
  440. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  441. $("#sidepanel-p2sm").append(btn3a); //OSM
  442.  
  443. $("#sidepanel-p2sm").append('<br><br>');
  444. $("#sidepanel-p2sm").append(btn9); //VIAM
  445. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  446. $("#sidepanel-p2sm").append(btn10); //HERE
  447. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  448. $("#sidepanel-p2sm").append(btn13); //MAPPY
  449.  
  450. $("#sidepanel-p2sm").append('<br><br>');
  451. $("#sidepanel-p2sm").append(btn18); //TOMTOM
  452. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  453. $("#sidepanel-p2sm").append(btn15); //MSN
  454. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  455. $("#sidepanel-p2sm").append(btn5); //Apple
  456.  
  457. $("#sidepanel-p2sm").append('<br><br>'); // ■■■■■ "GESCHWINDIGKEITEN / BILDER" ■■■■■
  458. $("#sidepanel-p2sm").append(txtbtn3);
  459. $("#sidepanel-p2sm").append(spacer);
  460. $("#sidepanel-p2sm").append(btn11); //MAPILLARY
  461. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  462. $("#sidepanel-p2sm").append(btn12); //OSBROWSER
  463. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  464. $("#sidepanel-p2sm").append(btn21); //KARTAVIEW
  465.  
  466. $("#sidepanel-p2sm").append('<br><br>'); // ■■■■■ "GEOPORTALE" ■■■■■
  467. $("#sidepanel-p2sm").append(txtbtn4);
  468. $("#sidepanel-p2sm").append(spacer);
  469. $("#sidepanel-p2sm").append(btn16); //GEOADMIN
  470.  
  471. $("#sidepanel-p2sm").append('<br><br>'); // ■■■■■ "Misc" ■■■■■
  472. $("#sidepanel-p2sm").append(txtbtn5);
  473. $("#sidepanel-p2sm").append(spacer);
  474. $("#sidepanel-p2sm").append(btn20);
  475. $("#sidepanel-p2sm").append('&nbsp;&nbsp;');
  476. $("#sidepanel-p2sm").append(btn95);//REPORTING
  477.  
  478. $("#sidepanel-p2sm").append('<br><br>'); //SAFE SOURCES WARNING
  479. $("#sidepanel-p2sm").append(safeSourcesText);
  480. }
  481.  
  482. add_buttons();