1function mergePolygons(polygons) { 2 var solution_polygons = new ClipperLib.Paths(); 3 var subj_polygons = new ClipperLib.Paths(); 4 var cpr = new ClipperLib.Clipper(); 5 for (var j = 0; j < polygons.length; j++) { 6 subj_polygons.push(createarray_clipper_polygon(polygons[j])); 7 } 8 cpr.AddPaths(subj_polygons, ClipperLib.PolyType.ptSubject, true); 9 var succeeded = cpr.Execute(ClipperLib.ClipType.ctUnion, solution_polygons); 10 return solution_polygons; 11} 12 13function createarray_clipper_polygon(array) { 14 var subj_polygon = new ClipperLib.Path(); 15 for (var i = 0; i < array.length; i++) { 16 var latx = array[i].lat(); 17 var lngx = array[i].lng(); 18 subj_polygon.push(new ClipperLib.FPoint(latx, lngx)); 19 } 20 return subj_polygon; 21} 22 23$(document).ready(function() { 24 google.maps.event.addDomListener(window, 'load', function() { 25 26 var zoom = 5; 27 28 var mapOptions = { 29 zoom: zoom, 30 center: new google.maps.LatLng(54.5, -3), 31 mapTypeId: google.maps.MapTypeId.ROADMAP, 32 zoomControl: false, 33 scrollwheel: false 34 }; 35 36 var map = new google.maps.Map($("#coverage_map")[0], mapOptions); 37 38 (function resizeMap() { 39 if (map.getZoom() != zoom) { 40 map.setZoom(zoom); 41 } 42 setTimeout(resizeMap, 250); 43 })(); 44 45 for (var i = 0; i < areas.length; i++) { 46 areas[i] = new google.maps.LatLng(areas[i].lat, areas[i].lng); 47 } 48 49 var pointArray = new google.maps.MVCArray(areas); 50 var heatmap = new google.maps.visualization.HeatmapLayer({ 51 data: pointArray 52 }); 53 heatmap.setMap(map); 54 heatmap.set('opacity', 0.6); 55 56 // Add areas 57 /*for (var i = 0; i < areas.length; i++) { 58 59 center = new google.maps.LatLng(areas[i].lat, areas[i].lng); 60 61 var circle_options = {paths: []}; 62 63 var segments = 36; 64 var radius = 0.5; 65 for (var s = 0; s < segments; s++) { 66 var radians = s * Math.PI * 2 / segments; 67 circle_options.paths.push(new google.maps.LatLng( 68 center.lat() + radius * Math.sin(radians), 69 center.lng() + radius * Math.cos(radians) 70 )); 71 } 72 73 var circle = new google.maps.Polygon(circle_options); 74 75 circles.push(circle.getPath().getArray()); 76 77 } 78 79 var merged = mergePolygons(circles); 80 81 for (var i = 0; i < merged.length; i++) { 82 var polygon = []; 83 for (var j = 0; j < merged[i].length; j++) { 84 polygon.push(new google.maps.LatLng(merged[i][j].X, merged[i][j].Y)); 85 } 86 polygon2 = new google.maps.Polygon({ 87 paths: polygon, 88 strokeColor: "#FF0000", 89 strokeOpacity: 0.8, 90 strokeWeight: 0, 91 fillColor: "#FF0000", 92 fillOpacity: 0.35 93 });
94 polygon2.setMap(map); 95 }*/ 96 97 98 }); 99});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.