function addMarkers() { mySelect = document.getElementById('selection'); Accident = [];Bloomington = [];Oakland = [];Friendsville = [];Grantsville = [];Kitzmiller = [];Frostburg = [];mySelect.options[mySelect.options.length] = new Option("Accident schools",'all=Accident'); mySelect.options[mySelect.options.length] = new Option("Bloomington schools",'all=Bloomington'); mySelect.options[mySelect.options.length] = new Option("Friendsville schools",'all=Friendsville'); mySelect.options[mySelect.options.length] = new Option("Frostburg schools",'all=Frostburg'); mySelect.options[mySelect.options.length] = new Option("Grantsville schools",'all=Grantsville'); mySelect.options[mySelect.options.length] = new Option("Kitzmiller schools",'all=Kitzmiller'); mySelect.options[mySelect.options.length] = new Option("Oakland schools",'all=Oakland'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Accident[Accident.length] = createMarker(new GPoint(-79.28259277,39.58347702),"
",iconRd); mySelect.options[mySelect.options.length] = new Option("Accident Elementary School",'Accident=' + Accident.length); Bloomington[Bloomington.length] = createMarker(new GPoint(-79.07659912,39.49549866),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Bloomington School",'Bloomington=' + Bloomington.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.38178253,39.41737747),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Broad Ford Elementary School",'Oakland=' + Oakland.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.46459198,39.39216614),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Crellin Elementary School",'Oakland=' + Oakland.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.38116455,39.40481567),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Dennett Road Elementary School",'Oakland=' + Oakland.length); Friendsville[Friendsville.length] = createMarker(new GPoint(-79.41580200,39.66410065),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Friendsville Elementary School",'Friendsville=' + Friendsville.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.40738678,39.40979767),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Garrett County Home & Hospital School",'Oakland=' + Oakland.length); Grantsville[Grantsville.length] = createMarker(new GPoint(-79.16159821,39.68320084),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Grantsville Elementary School",'Grantsville=' + Grantsville.length); Kitzmiller[Kitzmiller.length] = createMarker(new GPoint(-79.20240021,39.39559937),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Kitzmiller Elementary School",'Kitzmiller=' + Kitzmiller.length); Accident[Accident.length] = createMarker(new GPoint(-79.29716492,39.66422272),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Northern Garrett High School",'Accident=' + Accident.length); Accident[Accident.length] = createMarker(new GPoint(-79.29716492,39.66422272),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Northern High Evening School",'Accident=' + Accident.length); Accident[Accident.length] = createMarker(new GPoint(-79.29741669,39.66418457),"",iconBl); mySelect.options[mySelect.options.length] = new Option("Northern Middle School",'Accident=' + Accident.length); Frostburg[Frostburg.length] = createMarker(new GPoint(-79.01298523,39.68743515),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Route 40 Elementary School",'Frostburg=' + Frostburg.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.38771820,39.40185928),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Southern Garrett High School",'Oakland=' + Oakland.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.38891602,39.40263367),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Southern High Evening School",'Oakland=' + Oakland.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.38211060,39.41749573),"",iconBl); mySelect.options[mySelect.options.length] = new Option("Southern Middle School",'Oakland=' + Oakland.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.43254089,39.35006714),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Swan Meadow School",'Oakland=' + Oakland.length); Oakland[Oakland.length] = createMarker(new GPoint(-79.39385223,39.39760590),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Yough Glades Elementary School",'Oakland=' + Oakland.length); } // End addStateMarkers JavaScript Function // Takes an array of markers and centers/zooms map based on marker range function centerByArray(myArray, recenter, newMaxMin) { if (newMaxMin == true) reMaxMin(myArray); for (var i = 0; i < myArray.length; i++) { var markLng = myArray[i].getPoint().x; var markLat = myArray[i].getPoint().y; if (markLat > maxLat) maxLat = markLat; if (markLng > maxLng) maxLng = markLng; if (markLat < minLat) minLat = markLat; if (markLng < minLng) minLng = markLng; } if (recenter) reCenterMap(); } // Reinit max/mins function reMaxMin(myArray) { maxLng = myArray[0].getPoint().x; maxLat = myArray[0].getPoint().y; minLng = myArray[0].getPoint().x; minLat = myArray[0].getPoint().y; } // Recenter map based on global max/mins function reCenterMap() { var bounds = new GLatLngBounds(); bounds.extend(new GLatLng(minLat, minLng)); bounds.extend(new GLatLng(maxLat, maxLng)); var center_lat = (bounds.getNorthEast().lat() + bounds.getSouthWest().lat()) / 2.0; var center_lng = (bounds.getNorthEast().lng() + bounds.getSouthWest().lng()) / 2.0; var center = new GLatLng(center_lat, center_lng); var zoom = map.getBoundsZoomLevel(bounds); map.setCenter(center,zoom); //map.setCenter(center,10); /* var center = new GPoint( (maxLng + minLng)/2, (maxLat+minLat)/2 ); var delta = new GSize(maxLng - minLng, maxLat - minLat); var minZoom = map.spec.getLowestZoomLevel(center, delta, map.viewSize); if (minZoom < 4) minZoom = 4; // Lowest possible zoom is 4 map.centerAndZoom(center, minZoom); */ } // Fires when drop down list of schools changes function selectChange(selection) { var myVal = selection.options[selection.selectedIndex].value; map.closeInfoWindow(); // Add entire array based on variable type if (myVal.indexOf('all') != -1 && myVal != 'all') { var temp = myVal.split('='); var showArray = temp[1]; // If Array is > X amount of markers, then open in a new page if (eval(showArray).length > 20) // New window depends on whether or not we're on the search page if (location.href.indexOf('nearby_schools.php') == -1) window.open(location.href + '/map/' + showArray); else window.open('/search////' + showArray); map.removeOverlays(Accident); map.removeOverlays(Bloomington); map.removeOverlays(Friendsville); map.removeOverlays(Frostburg); map.removeOverlays(Grantsville); map.removeOverlays(Kitzmiller); map.removeOverlays(Oakland); map.addOverlays(eval(showArray)); centerByArray(eval(showArray), true, true); // Center and zoom on set of markers } // Add individual markers if (myVal.indexOf('all') == -1 && myVal != 'all' && myVal.length) { var temp = myVal.split('='); var myArray = temp[0]; var myIndex = parseInt(temp[1]) - 1; document.getElementById('map').width = "750"; map.removeOverlay(eval(myArray)[myIndex]); map.addOverlay(eval(myArray)[myIndex]); GEvent.trigger(eval(myArray)[myIndex],'click'); } // Show all markers if (myVal == 'all') { cntMarker = 0; reMaxMin(Accident);map.removeOverlays(Accident); map.removeOverlays(Bloomington); map.removeOverlays(Friendsville); map.removeOverlays(Frostburg); map.removeOverlays(Grantsville); map.removeOverlays(Kitzmiller); map.removeOverlays(Oakland); map.addOverlays(Accident); centerByArray(Accident, false, false); cntMarker += Accident.length; map.addOverlays(Bloomington); centerByArray(Bloomington, false, false); cntMarker += Bloomington.length; map.addOverlays(Friendsville); centerByArray(Friendsville, false, false); cntMarker += Friendsville.length; map.addOverlays(Frostburg); centerByArray(Frostburg, false, false); cntMarker += Frostburg.length; map.addOverlays(Grantsville); centerByArray(Grantsville, false, false); cntMarker += Grantsville.length; map.addOverlays(Kitzmiller); centerByArray(Kitzmiller, false, false); cntMarker += Kitzmiller.length; map.addOverlays(Oakland); centerByArray(Oakland, false, false); cntMarker += Oakland.length; centerByArray(Accident,true, false); if (cntMarker > 20) // New window depends on whether or not we're on the search page if (location.href.indexOf('schools-by-distance') == -1) window.open(location.href + '/map/all'); else window.open('/search////all'); } }