function addMarkers() { mySelect = document.getElementById('selection'); Benton = [];Bauxite = [];Bryant = [];Little_Rock = [];Paron = [];mySelect.options[mySelect.options.length] = new Option("Bauxite schools",'all=Bauxite'); mySelect.options[mySelect.options.length] = new Option("Benton schools",'all=Benton'); mySelect.options[mySelect.options.length] = new Option("Bryant schools",'all=Bryant'); mySelect.options[mySelect.options.length] = new Option("Little Rock schools",'all=Little_Rock'); mySelect.options[mySelect.options.length] = new Option("Paron schools",'all=Paron'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Benton[Benton.length] = createMarker(new GPoint(-92.57463074,34.56113815),"
",iconRd); mySelect.options[mySelect.options.length] = new Option("Angie Grant Elementary School",'Benton=' + Benton.length); Bauxite[Bauxite.length] = createMarker(new GPoint(-92.50960541,34.55538559),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Bauxite High School",'Bauxite=' + Bauxite.length); Benton[Benton.length] = createMarker(new GPoint(-92.57536316,34.56053543),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Benton High School",'Benton=' + Benton.length); Benton[Benton.length] = createMarker(new GPoint(-92.57536316,34.55995178),"",iconBl); mySelect.options[mySelect.options.length] = new Option("Benton Junior High School",'Benton=' + Benton.length); Benton[Benton.length] = createMarker(new GPoint(-92.57292938,34.56677628),"",iconBl); mySelect.options[mySelect.options.length] = new Option("Benton Middle School",'Benton=' + Benton.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49046326,34.59786224),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Bryant Elementary School",'Bryant=' + Bryant.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49046326,34.59786224),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Bryant High School",'Bryant=' + Bryant.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49046326,34.59786224),"",iconBl); mySelect.options[mySelect.options.length] = new Option("Bryant Middle School",'Bryant=' + Bryant.length); Benton[Benton.length] = createMarker(new GPoint(-92.60544586,34.56599045),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Caldwell Elementary School",'Benton=' + Benton.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49046326,34.59786224),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Collegeville Elementary School",'Bryant=' + Bryant.length); Little_Rock[Little_Rock.length] = createMarker(new GPoint(-92.34155273,34.55656815),"",iconBl); mySelect.options[mySelect.options.length] = new Option("East End Intermediate School",'Little_Rock=' + Little_Rock.length); Benton[Benton.length] = createMarker(new GPoint(-92.64286804,34.50856781),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Harmony Grove High School",'Benton=' + Benton.length); Benton[Benton.length] = createMarker(new GPoint(-92.64286804,34.50856781),"",iconBl); mySelect.options[mySelect.options.length] = new Option("Harmony Grove Middle School",'Benton=' + Benton.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49019000,34.59794600),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Paron Elementary School",'Bryant=' + Bryant.length); Paron[Paron.length] = createMarker(new GPoint(-92.75827026,34.77261353),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Paron Elementary School",'Paron=' + Paron.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49019000,34.59794600),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Paron High School",'Bryant=' + Bryant.length); Benton[Benton.length] = createMarker(new GPoint(-92.57016754,34.57470322),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Perrin Elementary School",'Benton=' + Benton.length); Bauxite[Bauxite.length] = createMarker(new GPoint(-92.50526428,34.56030655),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Pine Haven Elementary School",'Bauxite=' + Bauxite.length); Benton[Benton.length] = createMarker(new GPoint(-92.59245300,34.56021118),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Ringgold Elementary School",'Benton=' + Benton.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49046326,34.59786224),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Robert L. Davis Elementary School",'Bryant=' + Bryant.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49046326,34.59786224),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Salem Elementary School",'Bryant=' + Bryant.length); Bauxite[Bauxite.length] = createMarker(new GPoint(-92.49580600,34.56543100),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Saline County Career Center",'Bauxite=' + Bauxite.length); Bryant[Bryant.length] = createMarker(new GPoint(-92.49046326,34.59786224),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Springhill Elementary School",'Bryant=' + Bryant.length); Benton[Benton.length] = createMarker(new GPoint(-92.64286804,34.50856781),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Westbrook Elementary School",'Benton=' + Benton.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(Bauxite); map.removeOverlays(Benton); map.removeOverlays(Bryant); map.removeOverlays(Little_Rock); map.removeOverlays(Paron); 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(Benton);map.removeOverlays(Bauxite); map.removeOverlays(Benton); map.removeOverlays(Bryant); map.removeOverlays(Little_Rock); map.removeOverlays(Paron); map.addOverlays(Bauxite); centerByArray(Bauxite, false, false); cntMarker += Bauxite.length; map.addOverlays(Benton); centerByArray(Benton, false, false); cntMarker += Benton.length; map.addOverlays(Bryant); centerByArray(Bryant, false, false); cntMarker += Bryant.length; map.addOverlays(Little_Rock); centerByArray(Little_Rock, false, false); cntMarker += Little_Rock.length; map.addOverlays(Paron); centerByArray(Paron, false, false); cntMarker += Paron.length; centerByArray(Benton,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'); } }