function addMarkers(){ mySelect = document.getElementById('selection'); Fridley = [];Coon_Rapids = [];Andover = [];Anoka = [];Blaine = [];Saint_Francis = [];Minneapolis = [];mySelect.options[mySelect.options.length] = new Option("Andover schools",'all=Andover'); mySelect.options[mySelect.options.length] = new Option("Anoka schools",'all=Anoka'); mySelect.options[mySelect.options.length] = new Option("Blaine schools",'all=Blaine'); mySelect.options[mySelect.options.length] = new Option("Coon Rapids schools",'all=Coon_Rapids'); mySelect.options[mySelect.options.length] = new Option("Fridley schools",'all=Fridley'); mySelect.options[mySelect.options.length] = new Option("Minneapolis schools",'all=Minneapolis'); mySelect.options[mySelect.options.length] = new Option("Saint Francis schools",'all=Saint_Francis'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Fridley[Fridley.length] = createMarker(new GPoint(-93.23481800,45.07494100),"
Al-amal School
1401 Gardena Avenue Ne
Fridley, MN 55432
Co-ed school, PK-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Al-amal School",'Fridley=' + Fridley.length); Fridley[Fridley.length] = createMarker(new GPoint(-93.25251900,45.10078800),"
Calvin Christian High School
755 73rd Ave. NE
Fridley, MN 55432
Co-ed school, 9-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Calvin Christian High School",'Fridley=' + Fridley.length); Coon_Rapids[Coon_Rapids.length] = createMarker(new GPoint(-93.31799400,45.17344400),"
Coon Rapids Christian School
11164 Hanson Blvd Nw
Coon Rapids, MN 55433
Co-ed school, K-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Coon Rapids Christian School",'Coon_Rapids=' + Coon_Rapids.length); Andover[Andover.length] = createMarker(new GPoint(-93.34327300,45.21935700),"
Meadow Creek Christian School
3037 Bunker Lake Blvd Nw
Andover, MN 55304
Co-ed school, PK-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Meadow Creek Christian School",'Andover=' + Andover.length); Anoka[Anoka.length] = createMarker(new GPoint(-93.38374400,45.18935500),"
Minnesota Renaissance School
1333 5th Ave. S.
Anoka, MN 55303
Co-ed school, PK-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Minnesota Renaissance School",'Anoka=' + Anoka.length); Blaine[Blaine.length] = createMarker(new GPoint(-93.24905800,45.20811300),"
Northside Christian School
804 131st Ave Ne
Blaine, MN 55434
Co-ed school, PK-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Northside Christian School",'Blaine=' + Blaine.length); Saint_Francis[Saint_Francis.length] = createMarker(new GPoint(-93.36860100,45.38577800),"
St Francis Christian School
22940 Saint Francis Blvd Nw
Saint Francis, MN 55070
Co-ed school, 1-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("St Francis Christian School",'Saint_Francis=' + Saint_Francis.length); Minneapolis[Minneapolis.length] = createMarker(new GPoint(-93.23585800,45.07471500),"
Totino-Grace High School
1350 Gardena Avenue NE
Minneapolis, MN 55432
Co-ed school, 9-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Totino-Grace High School",'Minneapolis=' + Minneapolis.length); Fridley[Fridley.length] = createMarker(new GPoint(-93.26322500,45.09240300),"
Woodcrest Baptist Academy
6875 University Ave Ne
Fridley, MN 55432
Co-ed school, PK-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Woodcrest Baptist Academy",'Fridley=' + Fridley.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/////2/' + showArray); map.removeOverlays(Andover); map.removeOverlays(Anoka); map.removeOverlays(Blaine); map.removeOverlays(Coon_Rapids); map.removeOverlays(Fridley); map.removeOverlays(Minneapolis); map.removeOverlays(Saint_Francis); 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(Fridley);map.removeOverlays(Andover); map.removeOverlays(Anoka); map.removeOverlays(Blaine); map.removeOverlays(Coon_Rapids); map.removeOverlays(Fridley); map.removeOverlays(Minneapolis); map.removeOverlays(Saint_Francis); map.addOverlays(Andover); centerByArray(Andover, false, false); cntMarker += Andover.length; map.addOverlays(Anoka); centerByArray(Anoka, false, false); cntMarker += Anoka.length; map.addOverlays(Blaine); centerByArray(Blaine, false, false); cntMarker += Blaine.length; map.addOverlays(Coon_Rapids); centerByArray(Coon_Rapids, false, false); cntMarker += Coon_Rapids.length; map.addOverlays(Fridley); centerByArray(Fridley, false, false); cntMarker += Fridley.length; map.addOverlays(Minneapolis); centerByArray(Minneapolis, false, false); cntMarker += Minneapolis.length; map.addOverlays(Saint_Francis); centerByArray(Saint_Francis, false, false); cntMarker += Saint_Francis.length; centerByArray(Fridley,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=2&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; }