function addMarkers(){ mySelect = document.getElementById('selection'); Bethesda = [];Silver_Spring = [];Baltimore = [];Rockville = [];Oxon_Hill = [];Crownsville = [];Timonium = [];mySelect.options[mySelect.options.length] = new Option("Baltimore schools",'all=Baltimore'); mySelect.options[mySelect.options.length] = new Option("Bethesda schools",'all=Bethesda'); mySelect.options[mySelect.options.length] = new Option("Crownsville schools",'all=Crownsville'); mySelect.options[mySelect.options.length] = new Option("Oxon Hill schools",'all=Oxon_Hill'); mySelect.options[mySelect.options.length] = new Option("Rockville schools",'all=Rockville'); mySelect.options[mySelect.options.length] = new Option("Silver Spring schools",'all=Silver_Spring'); mySelect.options[mySelect.options.length] = new Option("Timonium schools",'all=Timonium'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Bethesda[Bethesda.length] = createMarker(new GPoint(-77.11379500,39.02273700),"
C P C Health % Mgmt Advantage
5701 Grosvenor Lane
Bethesda, MD 20814
Co-ed school, 6-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("C P C Health % Mgmt Advantage",'Bethesda=' + Bethesda.length); Silver_Spring[Silver_Spring.length] = createMarker(new GPoint(-77.02726300,39.02948300),"
Child Center Preschool
10611 Tenbrook Drive
Silver Spring, MD 20901
Co-ed school, PK-KG
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Child Center Preschool",'Silver_Spring=' + Silver_Spring.length); Baltimore[Baltimore.length] = createMarker(new GPoint(-76.75858700,39.32876700),"
Harbour School At Baltimore Th
2603 Rolling Road, Suite 301-3
Baltimore, MD 21244
Co-ed school, Ungraded
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Harbour School At Baltimore Th",'Baltimore=' + Baltimore.length); Rockville[Rockville.length] = createMarker(new GPoint(-77.16156600,39.04673200),"
Ivymount School
11614 Seven Locks Road
Rockville, MD 20854
Co-ed school, Ungraded
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Ivymount School",'Rockville=' + Rockville.length); Oxon_Hill[Oxon_Hill.length] = createMarker(new GPoint(-76.98676500,38.80141300),"
The Maryland International Day School
6400 Livingston Road
Oxon Hill, MD 20745
Co-ed school, PK-8
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("The Maryland International Day School",'Oxon_Hill=' + Oxon_Hill.length); Crownsville[Crownsville.length] = createMarker(new GPoint(-76.60459900,39.02090900),"
Meadow Brook Education Center
1211 Farm Rd.
Crownsville, MD 21032
Co-ed school, 9-12
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Meadow Brook Education Center",'Crownsville=' + Crownsville.length); Timonium[Timonium.length] = createMarker(new GPoint(-76.59323600,39.45013200),"
Villa Maria School
2300 Dulaney Valley Road
Timonium, MD 21093
Co-ed school, NS-NS
[ View School Profile ]
",iconGr); mySelect.options[mySelect.options.length] = new Option("Villa Maria School",'Timonium=' + Timonium.length); map.removeOverlays(Baltimore); map.removeOverlays(Bethesda); map.removeOverlays(Crownsville); map.removeOverlays(Oxon_Hill); map.removeOverlays(Rockville); map.removeOverlays(Silver_Spring); map.removeOverlays(Timonium); setTimeout(function(){map.addOverlays(Baltimore)},1000); setTimeout(function(){map.addOverlays(Bethesda)},1000); setTimeout(function(){map.addOverlays(Crownsville)},1000); setTimeout(function(){map.addOverlays(Oxon_Hill)},1000); setTimeout(function(){map.addOverlays(Rockville)},1000); setTimeout(function(){map.addOverlays(Silver_Spring)},1000); setTimeout(function(){map.addOverlays(Timonium)},1000); maxLng = -76.59323600; maxLat = 39.45013200; minLng = -77.16156600; minLat = 38.80141300; reCenterMap(); } // 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//////' + showArray); map.removeOverlays(Baltimore); map.removeOverlays(Bethesda); map.removeOverlays(Crownsville); map.removeOverlays(Oxon_Hill); map.removeOverlays(Rockville); map.removeOverlays(Silver_Spring); map.removeOverlays(Timonium); 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(Bethesda);map.removeOverlays(Baltimore); map.removeOverlays(Bethesda); map.removeOverlays(Crownsville); map.removeOverlays(Oxon_Hill); map.removeOverlays(Rockville); map.removeOverlays(Silver_Spring); map.removeOverlays(Timonium); map.addOverlays(Baltimore); centerByArray(Baltimore, false, false); cntMarker += Baltimore.length; map.addOverlays(Bethesda); centerByArray(Bethesda, false, false); cntMarker += Bethesda.length; map.addOverlays(Crownsville); centerByArray(Crownsville, false, false); cntMarker += Crownsville.length; map.addOverlays(Oxon_Hill); centerByArray(Oxon_Hill, false, false); cntMarker += Oxon_Hill.length; map.addOverlays(Rockville); centerByArray(Rockville, false, false); cntMarker += Rockville.length; map.addOverlays(Silver_Spring); centerByArray(Silver_Spring, false, false); cntMarker += Silver_Spring.length; map.addOverlays(Timonium); centerByArray(Timonium, false, false); cntMarker += Timonium.length; centerByArray(Bethesda,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///12336,12441,12464,12384,12824,12336,12441,35540,12384,12158,12824,/all'); //window.open('/map.php?type=2&schools=12336,12441,12464,12384,12824,12336,12441,35540,12384,12158,12824,&school_level=&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; }