Sri Lanka MapRaid 2 Boundary

a script to define border for Sri Lanka MapRaid (12 June - 10 July 2016)

  1. // ==UserScript==
  2. // @name Sri Lanka MapRaid 2 Boundary
  3. // @namespace
  4. // @description a script to define border for Sri Lanka MapRaid (12 June - 10 July 2016)
  5. // @include https://www.waze.com/editor/*
  6. // @include https://www.waze.com/*/editor/*
  7. // @include https://editor-beta.waze.com/*
  8. // @version 0.0.1
  9. // @grant none
  10. // @copyright AndyLaode
  11. // @namespace https://gf.qytechs.cn/users/12091
  12. // ==/UserScript==
  13.  
  14. //---------------------------------------------------------------------------------------
  15. function bootstrap_MapOverlay()
  16. {
  17. var bGreasemonkeyServiceDefined = false;
  18.  
  19. try {
  20. bGreasemonkeyServiceDefined = (typeof Components.interfaces.gmIGreasemonkeyService === 'object');
  21. }
  22. catch (err) { /* Ignore */ }
  23.  
  24. if (typeof unsafeWindow === 'undefined' || ! bGreasemonkeyServiceDefined) {
  25. unsafeWindow = ( function () {
  26. var dummyElem = document.createElement('p');
  27. dummyElem.setAttribute('onclick', 'return window;');
  28. return dummyElem.onclick();
  29. }) ();
  30. }
  31.  
  32. /* begin running the code! */
  33. setTimeout(InitMapOverlay, 1000);
  34. }
  35.  
  36. function AddMapPoligon(mapLayer,CityPoints,CityColor,CityNumber){
  37.  
  38. var mro_Map = unsafeWindow.Waze.map;
  39. var mro_OL = unsafeWindow.OpenLayers;
  40. var mapGroupLabel = '' + CityNumber;
  41. var mapName = 'mapGroup' + CityNumber;
  42.  
  43. var style = {
  44. strokeColor: CityColor,
  45. strokeOpacity: '1',
  46. strokeWidth: 7,
  47. fillColor: CityColor,
  48. fillOpacity: 0.15,
  49. label: mapGroupLabel,
  50. labelOutlineColor: 'black',
  51. labelOutlineWidth: 3,
  52. fontSize: 100,
  53. fontColor: CityColor,
  54. fontOpacity: '.9',
  55. fontWeight: 'bold'
  56. };
  57.  
  58. var attributes = {
  59. name: mapName,
  60. number: CityNumber
  61. };
  62.  
  63. var pnt= [];
  64. for(i=0;i<CityPoints.length;i++){
  65. convPoint = new OpenLayers.Geometry.Point(CityPoints[i].lon,CityPoints[i].lat).transform(new OpenLayers.Projection('EPSG:4326'), mro_Map.getProjectionObject());
  66. pnt.push(convPoint);
  67. }
  68.  
  69. var ring = new mro_OL.Geometry.LinearRing(pnt);
  70. var polygon = new mro_OL.Geometry.Polygon([ring]);
  71.  
  72. var feature = new mro_OL.Feature.Vector(polygon,attributes,style);
  73. mapLayer.addFeatures([feature]);
  74.  
  75. }
  76.  
  77. function CurrentMapLocation(City_mapLayer){
  78. var mro_Map = unsafeWindow.Waze.map;
  79.  
  80. for(i=0;i < City_mapLayer.features.length;i++){
  81. var CityMapCenter= mro_Map.getCenter();
  82. var mapCenterPoint = new OpenLayers.Geometry.Point(CityMapCenter.lon,CityMapCenter.lat);
  83. var mpCenterCheck = City_mapLayer.features[i].geometry.components[0].containsPoint(mapCenterPoint);
  84. //console.log('MapRaid: ' + City_mapLayer.features[i].attributes.number + ': ' + mpCenterCheck);
  85. if(mpCenterCheck === true){
  86. var mapLocationLabel = ('.WazeControlLocationInfo').text();
  87. setTimeout(function(){$('.WazeControlLocationInfo').text(mapLocationLabel)},200);
  88. }
  89. }
  90. }
  91.  
  92. function InitMapOverlay(){
  93.  
  94. var mro_Map = unsafeWindow.Waze.map;
  95. var mro_OL = unsafeWindow.OpenLayers;
  96.  
  97. if (mro_Map === null) return;
  98. if (mro_OL === null) return;
  99.  
  100. var mro_mapLayers = mro_Map.getLayersBy('uniqueName','__MapCityGroups');
  101.  
  102. var City_mapLayer = new mro_OL.Layer.Vector('Sri Lanka MapRaid 2 Boundary', {
  103. displayInLayerSwitcher: true,
  104. uniqueName: '__MapCityGroups'
  105. });
  106.  
  107. I18n.translations.en.layers.name['__MapCityGroups'] = 'Sri Lanka';
  108. mro_Map.addLayer(City_mapLayer);
  109. City_mapLayer.setVisibility(true);
  110.  
  111. var Group1 = [{lon:'79.568481',lat:'8.434338'},{lon:'79.7291565',lat:'7.2916388'},{lon:'80.469017',lat:'7.3028767'},{lon:'80.3114319',lat:'8.2672141'}];
  112. var Group2 = [{lon:'80.3114319',lat:'8.2672141'},{lon:'80.469017',lat:'7.3028767'},{lon:'81.1724854',lat:'7.3038984'},{lon:'81.1268234',lat:'8.0940712'}];
  113. var Group3 = [{lon:'81.1268234',lat:'8.0940712'},{lon:'81.1724854',lat:'7.3038984'},{lon:'81.974487',lat:'7.32433'},{lon:'81.655884',lat:'7.977638'}];
  114. var Group4 = [{lon:'79.7291565',lat:'7.2916388'},{lon:'79.876099',lat:'6.266158'},{lon:'80.5970764',lat:'6.409472'},{lon:'80.469017',lat:'7.3028767'}];
  115. var Group5 = [{lon:'80.469017',lat:'7.3028767'}, {lon:'80.5970764',lat:'6.409472'}, {lon:'81.2232971',lat:'6.5350095'}, {lon:'81.1724854',lat:'7.3038984'}];
  116. var Group6 = [{lon:'81.1724854',lat:'7.3038984'}, {lon:'81.2232971',lat:'6.5350095'}, {lon:'81.8687439',lat:'6.6577874'}, {lon:'81.974487',lat:'7.32433'}];
  117. var Group7 = [{lon:'79.876099',lat:'6.266158'}, {lon:'80.414429',lat:'5.75264'}, {lon:'81.809692',lat:'6.249776'}, {lon:'81.8687439',lat:'6.6577874'}];
  118.  
  119. AddMapPoligon(City_mapLayer,Group1,'#FF0033','Group 1');
  120. AddMapPoligon(City_mapLayer,Group2,'#33FF00','Group 2');
  121. AddMapPoligon(City_mapLayer,Group3,'#FFFF00','Group 3');
  122. AddMapPoligon(City_mapLayer,Group4,'#FF0033','Group 4');
  123. AddMapPoligon(City_mapLayer,Group5,'#FFFF00','Group 5');
  124. AddMapPoligon(City_mapLayer,Group6,'#FF00FF','Group 6');
  125. AddMapPoligon(City_mapLayer,Group7,'#FFFF00','Group 7');
  126. setTimeout(function(){CurrentMapLocation(City_mapLayer)},3000);
  127. mro_Map.events.register('moveend', Waze.map, function(){CurrentMapLocation(City_mapLayer)});
  128. mro_Map.events.register('zoomend', Waze.map, function(){CurrentMapLocation(City_mapLayer)});
  129.  
  130. }
  131.  
  132. bootstrap_MapOverlay();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址