function addMarkers() { mySelect = document.getElementById('selection'); Charlottesville = [];Esmont = [];Earlysville = [];Crozet = [];North_Garden = [];Scottsville = [];Keswick = [];mySelect.options[mySelect.options.length] = new Option("Charlottesville schools",'all=Charlottesville'); mySelect.options[mySelect.options.length] = new Option("Crozet schools",'all=Crozet'); mySelect.options[mySelect.options.length] = new Option("Earlysville schools",'all=Earlysville'); mySelect.options[mySelect.options.length] = new Option("Esmont schools",'all=Esmont'); mySelect.options[mySelect.options.length] = new Option("Keswick schools",'all=Keswick'); mySelect.options[mySelect.options.length] = new Option("North Garden schools",'all=North_Garden'); mySelect.options[mySelect.options.length] = new Option("Scottsville schools",'all=Scottsville'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.47625732,38.08777237),"
Agnor-hurt Elementary School
3201 Berkmar Drive
Charlottesville, VA 22901

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Agnor-hurt Elementary School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.49861908,38.07491302),"
Albemarle High School
2775 Hydraulic Road
Charlottesville, VA 22901

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Albemarle High School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.41870117,38.12299347),"
Baker-butler Elementary School
2740 Proffit Road
Charlottesville, VA 22911

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Baker-butler Elementary School",'Charlottesville=' + Charlottesville.length); Esmont[Esmont.length] = createMarker(new GPoint(-78.59700012,37.82155991),"
Benjamin F. Yancey Elementary School
7625 Porters Road
Esmont, VA 22937

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Benjamin F. Yancey Elementary School",'Esmont=' + Esmont.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-10.00000000,10.00000000),"
Blue Ridge Juvenile Detention Home
195 Peregory Ln.
Charlottesville, VA 22902

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Blue Ridge Juvenile Detention Home",'Charlottesville=' + Charlottesville.length); Earlysville[Earlysville.length] = createMarker(new GPoint(-78.48853302,38.16222000),"
Broadus Wood Elementary School
185 Buck Mountain Road
Earlysville, VA 22936

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Broadus Wood Elementary School",'Earlysville=' + Earlysville.length); Crozet[Crozet.length] = createMarker(new GPoint(-78.70372009,38.05123520),"
Brownsville Elementary School
5870 Rockfish Gap Turnpike
Crozet, VA 22932

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Brownsville Elementary School",'Crozet=' + Crozet.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.46314600,38.06370900),"
Charlottesville-albemarle Tech
1000 East Rio Rd
Charlottesville, VA 22901

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Charlottesville-albemarle Tech",'Charlottesville=' + Charlottesville.length); Crozet[Crozet.length] = createMarker(new GPoint(-78.69818878,38.07404327),"
Crozet Elementary School
1407 Crozet Avenue
Crozet, VA 22932

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Crozet Elementary School",'Crozet=' + Crozet.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.43886566,38.11339569),"
Hollymead Elementary School
2775 Powell Creek Drive
Charlottesville, VA 22911

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Hollymead Elementary School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.49925232,38.07573318),"
Jack Jouett Middle School
210 Lambs Lane
Charlottesville, VA 22901

[ View School Profile ]
",iconBl); mySelect.options[mySelect.options.length] = new Option("Jack Jouett Middle School",'Charlottesville=' + Charlottesville.length); Crozet[Crozet.length] = createMarker(new GPoint(-78.70407104,38.05123520),"
Joseph T. Henley Middle School
5880 Rockfish Gap Turnpike
Crozet, VA 22932

[ View School Profile ]
",iconBl); mySelect.options[mySelect.options.length] = new Option("Joseph T. Henley Middle School",'Crozet=' + Crozet.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.55268860,37.92006683),"
Leslie H. Walton Middle School
4217 Red Hill Road
Charlottesville, VA 22903

[ View School Profile ]
",iconBl); mySelect.options[mySelect.options.length] = new Option("Leslie H. Walton Middle School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.50254059,38.07753754),"
Mary Carr Greer Elementary School
190 Lambs Lane
Charlottesville, VA 22901

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Mary Carr Greer Elementary School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.59708405,38.08075333),"
Meriwether Lewis Elementary School
1610 Owensville Road
Charlottesville, VA 22901

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Meriwether Lewis Elementary School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.48992157,37.99802399),"
Monticello High School
1400 Independence Way
Charlottesville, VA 22902

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Monticello High School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.43818665,38.11335373),"
Mortimer Y. Sutherland Middle School
2801 Powell Creek Drive
Charlottesville, VA 22911

[ View School Profile ]
",iconBl); mySelect.options[mySelect.options.length] = new Option("Mortimer Y. Sutherland Middle School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.50017548,37.99708939),"
Paul H. Cale Elementary School
1757 Avon Street Extended
Charlottesville, VA 22902

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Paul H. Cale Elementary School",'Charlottesville=' + Charlottesville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.50636292,38.02912140),"
Piedmont Reg Ed/ivy Creek
227 Lambs Lane
Charlottesville, VA 22901

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Piedmont Reg Ed/ivy Creek",'Charlottesville=' + Charlottesville.length); North_Garden[North_Garden.length] = createMarker(new GPoint(-78.63474274,37.96470642),"
Red Hill Elementary School
3901 Red Hill School Road
North Garden, VA 22959

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Red Hill Elementary School",'North_Garden=' + North_Garden.length); Scottsville[Scottsville.length] = createMarker(new GPoint(-78.51113129,37.81981659),"
Scottsville Elementary School
7868 Scottsville Road
Scottsville, VA 24590

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Scottsville Elementary School",'Scottsville=' + Scottsville.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.39651489,38.01023483),"
Stone Robinson Elementary School
958 North Milton Road
Charlottesville, VA 22911

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Stone Robinson Elementary School",'Charlottesville=' + Charlottesville.length); Keswick[Keswick.length] = createMarker(new GPoint(-78.36766815,38.11192703),"
Stony Point Elementary School
3893 Stony Point Road
Keswick, VA 22947

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Stony Point Elementary School",'Keswick=' + Keswick.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.61159515,38.05825043),"
Virginia L. Murray Elementary School
3251 Morgantown Road
Charlottesville, VA 22903

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Virginia L. Murray Elementary School",'Charlottesville=' + Charlottesville.length); Crozet[Crozet.length] = createMarker(new GPoint(-78.70613861,38.05069733),"
Western Albemarle High School
5941 Rockfish Gap Turnpike
Crozet, VA 22932

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Western Albemarle High School",'Crozet=' + Crozet.length); Charlottesville[Charlottesville.length] = createMarker(new GPoint(-78.46767426,38.08698654),"
Woodbrook Elementary School
100 Woodbrook Drive
Charlottesville, VA 22901

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Woodbrook Elementary School",'Charlottesville=' + Charlottesville.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(Charlottesville); map.removeOverlays(Crozet); map.removeOverlays(Earlysville); map.removeOverlays(Esmont); map.removeOverlays(Keswick); map.removeOverlays(North_Garden); map.removeOverlays(Scottsville); 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(Charlottesville);map.removeOverlays(Charlottesville); map.removeOverlays(Crozet); map.removeOverlays(Earlysville); map.removeOverlays(Esmont); map.removeOverlays(Keswick); map.removeOverlays(North_Garden); map.removeOverlays(Scottsville); map.addOverlays(Charlottesville); centerByArray(Charlottesville, false, false); cntMarker += Charlottesville.length; map.addOverlays(Crozet); centerByArray(Crozet, false, false); cntMarker += Crozet.length; map.addOverlays(Earlysville); centerByArray(Earlysville, false, false); cntMarker += Earlysville.length; map.addOverlays(Esmont); centerByArray(Esmont, false, false); cntMarker += Esmont.length; map.addOverlays(Keswick); centerByArray(Keswick, false, false); cntMarker += Keswick.length; map.addOverlays(North_Garden); centerByArray(North_Garden, false, false); cntMarker += North_Garden.length; map.addOverlays(Scottsville); centerByArray(Scottsville, false, false); cntMarker += Scottsville.length; centerByArray(Charlottesville,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'); } }