function addMarkers() { mySelect = document.getElementById('selection'); Faribault = [];Northfield = [];Morristown = [];Nerstrand = [];mySelect.options[mySelect.options.length] = new Option("Faribault schools",'all=Faribault'); mySelect.options[mySelect.options.length] = new Option("Morristown schools",'all=Morristown'); mySelect.options[mySelect.options.length] = new Option("Nerstrand schools",'all=Nerstrand'); mySelect.options[mySelect.options.length] = new Option("Northfield schools",'all=Northfield'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Faribault[Faribault.length] = createMarker(new GPoint(-93.26125336,44.29738998),"
Academy For Blind
400 Se 6th Avenue Drive
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Academy For Blind",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.26125336,44.29738998),"
Academy For Deaf
615 Olaf Hanson Drive
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Academy For Deaf",'Faribault=' + Faribault.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.17990112,44.46009827),"
Alc Targeted Services
1400 Division Street S.
Northfield, MN 55057

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Alc Targeted Services",'Northfield=' + Northfield.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.17990112,44.46009827),"
Artech
Box 349
Northfield, MN 55057

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Artech",'Northfield=' + Northfield.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.16293335,44.44056320),"
Bridgewater Elementary School
401 Jefferson Parkway
Northfield, MN 55057

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Bridgewater Elementary School",'Northfield=' + Northfield.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.25989532,44.31277084),"
Covenant Academy Of Minnesota Chtr.
126 8th Street Nw
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Covenant Academy Of Minnesota Chtr.",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.29039764,44.29819870),"
Early Childhood Family Ed
930 Nw 4th Avenue
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Early Childhood Family Ed",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.29039764,44.29819870),"
Elementary Summer Ts
Box 618
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Elementary Summer Ts",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.27538400,44.29469600),"
Elementary Targeted Services
Box 618
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Elementary Targeted Services",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.28279114,44.28697205),"
Faribault Area Learning Center
Box 618
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Faribault Area Learning Center",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.27100600,44.32011100),"
Faribault Day School Alc
2855 Nw 1st Ave
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Faribault Day School Alc",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.27268219,44.26874924),"
Faribault Middle School
704 17th Street Sw
Faribault, MN 55021

[ View School Profile ]
",iconBl); mySelect.options[mySelect.options.length] = new Option("Faribault Middle School",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.28237915,44.28689575),"
Faribault Senior High School
330 9th Avenue Sw
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Faribault Senior High School",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.27538400,44.29469600),"
Faribault Targeted Services
704 17th Street Sw
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Faribault Targeted Services",'Faribault=' + Faribault.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.17034149,44.46826935),"
Greenvale Park Elementary School
700 Lincoln Parkway
Northfield, MN 55057

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Greenvale Park Elementary School",'Northfield=' + Northfield.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.28474426,44.28080750),"
Jefferson Elementary School
922 Home Place Sw
Faribault, MN 55021

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Jefferson Elementary School",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.28649139,44.29547119),"
Lincoln Elementary School
510 Lincoln Avenue Nw
Faribault, MN 55021

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Lincoln Elementary School",'Faribault=' + Faribault.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.16979218,44.46074677),"
Longfellow Elementary School
201 Orchard Street S
Northfield, MN 55057

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Longfellow Elementary School",'Northfield=' + Northfield.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.25594700,44.28502500),"
Mcf-faribault
1101 Linden Lane
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Mcf-faribault",'Faribault=' + Faribault.length); Morristown[Morristown.length] = createMarker(new GPoint(-93.44402313,44.22406769),"
Morristown Elementary School
23 Ann Street
Morristown, MN 55052

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Morristown Elementary School",'Morristown=' + Morristown.length); Nerstrand[Nerstrand.length] = createMarker(new GPoint(-93.06774902,44.34369659),"
Nerstrand Charter School
205 S. 2nd Street
Nerstrand, MN 55053

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Nerstrand Charter School",'Nerstrand=' + Nerstrand.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.15944672,44.44073868),"
Northfield Alt. Learning Program
201 Orchard Street S
Northfield, MN 55057

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Northfield Alt. Learning Program",'Northfield=' + Northfield.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.15680695,44.45725250),"
Northfield Middle School
2200 Division Street S
Northfield, MN 55057

[ View School Profile ]
",iconBl); mySelect.options[mySelect.options.length] = new Option("Northfield Middle School",'Northfield=' + Northfield.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.16088867,44.44551468),"
Northfield Senior High School
1400 Division Street S
Northfield, MN 55057

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Northfield Senior High School",'Northfield=' + Northfield.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.29014700,44.29053700),"
Rice County Day Treatment Center
201 Lyndale Avenue S
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Rice County Day Treatment Center",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.25452423,44.29981232),"
Roosevelt Elementary School
925 Parshall Street
Faribault, MN 55021

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Roosevelt Elementary School",'Faribault=' + Faribault.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.27538400,44.29469600),"
Secondary Area Learning Cntr Summer
Box 618
Faribault, MN 55021

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Secondary Area Learning Cntr Summer",'Faribault=' + Faribault.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.15119171,44.44438171),"
Sibley Elementary School
1400 Maple Street
Northfield, MN 55057

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Sibley Elementary School",'Northfield=' + Northfield.length); Faribault[Faribault.length] = createMarker(new GPoint(-93.27056885,44.31935883),"
Special Education Office Elementary School
Box 618
Faribault, MN 55021

[ View School Profile ]
",iconRd); mySelect.options[mySelect.options.length] = new Option("Special Education Office Elementary School",'Faribault=' + Faribault.length); Northfield[Northfield.length] = createMarker(new GPoint(-93.18007660,44.44461441),"
Village School Of Northfield
1100 Bollenbacher Court
Northfield, MN 55057

[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Village School Of Northfield",'Northfield=' + Northfield.length); Morristown[Morristown.length] = createMarker(new GPoint(-93.44319916,44.23910141),"
Waterville-elysian-morristown Junior Middle School
Box 278
Morristown, MN 55052

[ View School Profile ]
",iconBl); mySelect.options[mySelect.options.length] = new Option("Waterville-elysian-morristown Junior Middle School",'Morristown=' + Morristown.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(Faribault); map.removeOverlays(Morristown); map.removeOverlays(Nerstrand); map.removeOverlays(Northfield); 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(Faribault);map.removeOverlays(Faribault); map.removeOverlays(Morristown); map.removeOverlays(Nerstrand); map.removeOverlays(Northfield); map.addOverlays(Faribault); centerByArray(Faribault, false, false); cntMarker += Faribault.length; map.addOverlays(Morristown); centerByArray(Morristown, false, false); cntMarker += Morristown.length; map.addOverlays(Nerstrand); centerByArray(Nerstrand, false, false); cntMarker += Nerstrand.length; map.addOverlays(Northfield); centerByArray(Northfield, false, false); cntMarker += Northfield.length; centerByArray(Faribault,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'); } }