function addMarkers(){ mySelect = document.getElementById('selection'); Buxton = [];South_Berwick = [];York = [];Kennebunk = [];Berwick = [];W_Buxton = [];West_Buxton = [];Biddeford = [];Saco = [];Cornish = [];Sanford = [];Arundel = [];Eliot = [];Biddeford_Pool = [];mySelect.options[mySelect.options.length] = new Option("Arundel schools",'all=Arundel'); mySelect.options[mySelect.options.length] = new Option("Berwick schools",'all=Berwick'); mySelect.options[mySelect.options.length] = new Option("Biddeford schools",'all=Biddeford'); mySelect.options[mySelect.options.length] = new Option("Biddeford Pool schools",'all=Biddeford_Pool'); mySelect.options[mySelect.options.length] = new Option("Buxton schools",'all=Buxton'); mySelect.options[mySelect.options.length] = new Option("Cornish schools",'all=Cornish'); mySelect.options[mySelect.options.length] = new Option("Eliot schools",'all=Eliot'); mySelect.options[mySelect.options.length] = new Option("Kennebunk schools",'all=Kennebunk'); mySelect.options[mySelect.options.length] = new Option("Saco schools",'all=Saco'); mySelect.options[mySelect.options.length] = new Option("Sanford schools",'all=Sanford'); mySelect.options[mySelect.options.length] = new Option("South Berwick schools",'all=South_Berwick'); mySelect.options[mySelect.options.length] = new Option("W Buxton schools",'all=W_Buxton'); mySelect.options[mySelect.options.length] = new Option("West Buxton schools",'all=West_Buxton'); mySelect.options[mySelect.options.length] = new Option("York schools",'all=York'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Buxton[Buxton.length] = createMarker(new GPoint(-70.50909900,43.61532500),"
Beacon Bouse School
Po Box 346
Buxton, ME 04093
Co-ed school, 9-11
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Beacon Bouse School",'Buxton=' + Buxton.length); South_Berwick[South_Berwick.length] = createMarker(new GPoint(-70.80481300,43.22959400),"
Berwick Academy
31 Academy Street
South Berwick, ME 03908
Co-ed school, K-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Berwick Academy",'South_Berwick=' + South_Berwick.length); York[York.length] = createMarker(new GPoint(-70.73589500,43.18076200),"
Brixham Montessori Friends School
18 Brickyard Court
York, ME 03909
Co-ed school, PK-3
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Brixham Montessori Friends School",'York=' + York.length); South_Berwick[South_Berwick.length] = createMarker(new GPoint(-70.80779000,43.22666700),"
Childlight Montessori School
28 Liberty Street
South Berwick, ME 03908
Co-ed school, PK-K
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Childlight Montessori School",'South_Berwick=' + South_Berwick.length); Kennebunk[Kennebunk.length] = createMarker(new GPoint(-70.51158600,43.37417400),"
Cocoons Inc
35 Heath Road
Kennebunk, ME 04043
Co-ed school, PK-K
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Cocoons Inc",'Kennebunk=' + Kennebunk.length); Berwick[Berwick.length] = createMarker(new GPoint(-70.86951900,43.27124800),"
Cornerstone Kindergarten Inc
19 Morse Street
Berwick, ME 03901
Co-ed school, PK-K
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Cornerstone Kindergarten Inc",'Berwick=' + Berwick.length); W_Buxton[W_Buxton.length] = createMarker(new GPoint(-70.53930000,43.64380000),"
Deer Pond Edu-care Inc
Po Box 147
W Buxton, ME 04093
Co-ed school, KG-KG
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Deer Pond Edu-care Inc",'W_Buxton=' + W_Buxton.length); York[York.length] = createMarker(new GPoint(-70.63958200,43.14056800),"
Herne Schools
117 Woodbridge Road
York, ME 03909
Co-ed school, PK-2
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Herne Schools",'York=' + York.length); Kennebunk[Kennebunk.length] = createMarker(new GPoint(-70.54510000,43.38560000),"
Kennebunk Christian Academy
Po Box 178
Kennebunk, ME 04043
Co-ed school, PK-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Kennebunk Christian Academy",'Kennebunk=' + Kennebunk.length); West_Buxton[West_Buxton.length] = createMarker(new GPoint(-70.59021000,43.67795600),"
Living Waters Christian School
Po Box 566 197 Parker Farm Road
West Buxton, ME 04093
Co-ed school, PK-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Living Waters Christian School",'West_Buxton=' + West_Buxton.length); Biddeford[Biddeford.length] = createMarker(new GPoint(-70.50720000,43.47637100),"
The Master's House
551 Alfred Road
Biddeford, ME 04005
Co-ed school, K-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("The Master's House",'Biddeford=' + Biddeford.length); Kennebunk[Kennebunk.length] = createMarker(new GPoint(-70.54632600,43.38111800),"
The New School
38 York Street
Kennebunk, ME 04043
Co-ed school, 9-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("The New School",'Kennebunk=' + Kennebunk.length); Saco[Saco.length] = createMarker(new GPoint(-70.44007700,43.50005200),"
Notre Dame De Lourdes School
50 Beach Street
Saco, ME 04072
Co-ed school, PK-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Notre Dame De Lourdes School",'Saco=' + Saco.length); Cornish[Cornish.length] = createMarker(new GPoint(-70.82452900,43.71598000),"
Ossipee Valley Christian School
1890 North Road
Cornish, ME 04020
Co-ed school, PK-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Ossipee Valley Christian School",'Cornish=' + Cornish.length); Sanford[Sanford.length] = createMarker(new GPoint(-70.77846700,43.44039600),"
Pace-maine
11 Lebanon Street
Sanford, ME 04073
Co-ed school, Ungraded
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Pace-maine",'Sanford=' + Sanford.length); Saco[Saco.length] = createMarker(new GPoint(-70.44838800,43.49520400),"
Saco Island School
110 Main St Suite 1115
Saco, ME 04072
Co-ed school, 9-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Saco Island School",'Saco=' + Saco.length); Sanford[Sanford.length] = createMarker(new GPoint(-70.77128200,43.44755700),"
St. Thomas Consolidated School
69 North Avenue
Sanford, ME 04073
Co-ed school, PK-6
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("St. Thomas Consolidated School",'Sanford=' + Sanford.length); Arundel[Arundel.length] = createMarker(new GPoint(-70.50028000,43.41541500),"
School Around Us
281 Log Cabin Rd
Arundel, ME 04046
Co-ed school, K-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("School Around Us",'Arundel=' + Arundel.length); Saco[Saco.length] = createMarker(new GPoint(-70.43398900,43.51545800),"
The School At Sweetser
50 Moody Street
Saco, ME 04072
Co-ed school, 1-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("The School At Sweetser",'Saco=' + Saco.length); South_Berwick[South_Berwick.length] = createMarker(new GPoint(-70.81064600,43.23629300),"
Seacoast Christian School
336 Main Street
South Berwick, ME 03908
school, K-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Seacoast Christian School",'South_Berwick=' + South_Berwick.length); Biddeford[Biddeford.length] = createMarker(new GPoint(-70.45972600,43.49075200),"
St James School
25 Graham Street
Biddeford, ME 04005
Co-ed school, PK-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("St James School",'Biddeford=' + Biddeford.length); Saco[Saco.length] = createMarker(new GPoint(-70.43910900,43.50512400),"
Thornton Academy
438 Main Street
Saco, ME 04072
Co-ed school, 9-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Thornton Academy",'Saco=' + Saco.length); Eliot[Eliot.length] = createMarker(new GPoint(-70.78940000,43.13620000),"
Tidewater School
Po Box 420 228 Beech Road
Eliot, ME 03903
Co-ed school, PK-6
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Tidewater School",'Eliot=' + Eliot.length); Biddeford_Pool[Biddeford_Pool.length] = createMarker(new GPoint(-70.34267400,43.44579500),"
Winter Harbor Children's House
2 Yates Street
Biddeford Pool, ME 04006
Co-ed school, NS-NS
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Winter Harbor Children's House",'Biddeford_Pool=' + Biddeford_Pool.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,11); /* 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/////3/' + showArray); map.removeOverlays(Arundel); map.removeOverlays(Berwick); map.removeOverlays(Biddeford); map.removeOverlays(Biddeford_Pool); map.removeOverlays(Buxton); map.removeOverlays(Cornish); map.removeOverlays(Eliot); map.removeOverlays(Kennebunk); map.removeOverlays(Saco); map.removeOverlays(Sanford); map.removeOverlays(South_Berwick); map.removeOverlays(W_Buxton); map.removeOverlays(West_Buxton); map.removeOverlays(York); 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(Buxton);map.removeOverlays(Arundel); map.removeOverlays(Berwick); map.removeOverlays(Biddeford); map.removeOverlays(Biddeford_Pool); map.removeOverlays(Buxton); map.removeOverlays(Cornish); map.removeOverlays(Eliot); map.removeOverlays(Kennebunk); map.removeOverlays(Saco); map.removeOverlays(Sanford); map.removeOverlays(South_Berwick); map.removeOverlays(W_Buxton); map.removeOverlays(West_Buxton); map.removeOverlays(York); map.addOverlays(Arundel); centerByArray(Arundel, false, false); cntMarker += Arundel.length; map.addOverlays(Berwick); centerByArray(Berwick, false, false); cntMarker += Berwick.length; map.addOverlays(Biddeford); centerByArray(Biddeford, false, false); cntMarker += Biddeford.length; map.addOverlays(Biddeford_Pool); centerByArray(Biddeford_Pool, false, false); cntMarker += Biddeford_Pool.length; map.addOverlays(Buxton); centerByArray(Buxton, false, false); cntMarker += Buxton.length; map.addOverlays(Cornish); centerByArray(Cornish, false, false); cntMarker += Cornish.length; map.addOverlays(Eliot); centerByArray(Eliot, false, false); cntMarker += Eliot.length; map.addOverlays(Kennebunk); centerByArray(Kennebunk, false, false); cntMarker += Kennebunk.length; map.addOverlays(Saco); centerByArray(Saco, false, false); cntMarker += Saco.length; map.addOverlays(Sanford); centerByArray(Sanford, false, false); cntMarker += Sanford.length; map.addOverlays(South_Berwick); centerByArray(South_Berwick, false, false); cntMarker += South_Berwick.length; map.addOverlays(W_Buxton); centerByArray(W_Buxton, false, false); cntMarker += W_Buxton.length; map.addOverlays(West_Buxton); centerByArray(West_Buxton, false, false); cntMarker += West_Buxton.length; map.addOverlays(York); centerByArray(York, false, false); cntMarker += York.length; centerByArray(Buxton,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'); //window.open('/map.php?type=1&schools=&school_level=3&radius=&zipcode=&school_type_search=&school_type_code='); } } function createMarker(point, label, icon) { var marker = new GMarker(point, icon); var html = label; GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); }); return marker; }