1var polyline; var infowindow = new google.maps.InfoWindow({ size: new google.maps.Size(150, 100) }); var g_showMainSearch = false; 2function initializeDrawASearch(centerX, centerY, mapZoom) { 3 log("initializeDrawASearch"); 4 var myOptions = { 5 zoom: mapZoom, 6 center: new google.maps.LatLng(centerX, centerY), mapTypeControl: true, navigationControl: true, mapTypeId: google.maps.MapTypeId.ROADMAP 7 } 8 map = new google.maps.Map(document.getElementById("drawASearchCanvas"), myOptions); 9 if (!usesGooglePlacesSearch) { 10 google.maps.event.addListenerOnce(map, 'bounds_changed', function () { showPoints2Polygon(); }); 11 google.maps.event.addListener(map, "click", function (evt) { addMarker(evt.latLng) }); 12 } 13}; 14 15function addMarker(latlng) { if (latlng) { var marker = createMarker(latlng, gmarkers.length - 1); points.push(latlng); gmarkers.push(marker); showPoints2Polygon(); } }; function removeMarker(latlng) { for (var i = 0; i < gmarkers.length; i++) { if (google.maps.geometry.spherical.computeDistanceBetween(latlng, gmarkers[i].getPosition()) < 0.1) { gmarkers[i].setMap(null); gmarkers.splice(i, 1); } }; showPoints2Polygon(); } 16function createMarker(latlng, marker_number) { var html = "marker " + marker_number; var image = new google.maps.MarkerImage(icon, null, new google.maps.Point(0, 0), new google.maps.Point(5, 5)); var marker = new google.maps.Marker({ position: latlng, map: map, draggable: true, icon: image, cursor: 'move', zIndex: Math.round(latlng.lat() * -100000) << 5 }); google.maps.event.addListener(marker, "mouseover", function () { map.setOptions({ draggableCursor: "crosshair" }); }); google.maps.event.addListener(marker, 'dragend', function () { showPoints2Polygon(); }); google.maps.event.addListener(marker, 'rightclick', function (event) { removeMarker(marker.getPosition()); }); return marker; }; 17function showPoints2Polygon() { 18 if (polyline) polyline.setMap(null); points = []; var bounds = new google.maps.LatLngBounds(); for (var i = 0; i < gmarkers.length; i++) { points.push(gmarkers[i].getPosition()); bounds.extend(gmarkers[i].getPosition()); }; var center = bounds.getCenter(); var bearing = []; for (var i = 0; i < points.length; i++) { points[i].bearing = google.maps.geometry.spherical.computeHeading(center, points[i]); } 19 points.sort(bearingsort); polyline = new google.maps.Polygon({ map: map, paths: points, fillColor: "#000000", strokeWidth: 1, fillOpacity: 0.4, strokeColor: "#000000", strokeOpacity: 0.7, draggable: false, raiseOnDrag: false }); updatePropertyCount(); 20}; 21function bearingsort(a, b) { return (a.bearing - b.bearing); }; 22function saveDASPoly() { updatePropertyCount(); showDASOverlay(); }; 23function clearDrawASearch() { 24 var count = gmarkers.length; for (var i = 0; i < count; i++) { gmarkers[0].setMap(null); gmarkers.splice(0, 1); }; gmarkers = []; points = []; showPoints2Polygon(); updatePropertyCount(); 25}; 26function showDASOverlay() { 27 $("#dasOverlay").animate({ opacity: 0 }, 0, function () { $("#dasUnderlay").show(); $("#dasOverlay").toggle(); $("#dasOverlay").animate({ opacity: 1 }, 400); }); 28}; 29function hideDasOverlay() { 30 $("#dasUnderlay").toggle(); $(".searchItem").val($(".searchItem option:first").val()); updatePropertyCount(); $("#dasOverlay").animate({ opacity: 1 }, 0, function () { $("#dasOverlay").animate({ opacity: 0 }, 400, function () { $("#dasOverlay").hide(); }); }); 31}; 32function updatePropertyCount() { 33 if (points.length > 2) { if ($(".map_search.as-panel").length > 0) { searchProperties('count'); } else { propertyCount(); } } else { if ($(".map_search.as-panel").length > 0) { searchProperties('count'); } else { $(".propertycountHolder").html(propertyTotal); } }; 34};
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.