function addMarkers() { mySelect = document.getElementById('selection'); Elizabethton = [];Johnson_City = [];Roan_Mountain = [];Hampton = [];Butler = [];Watauga = [];mySelect.options[mySelect.options.length] = new Option("Butler schools",'all=Butler'); mySelect.options[mySelect.options.length] = new Option("Elizabethton schools",'all=Elizabethton'); mySelect.options[mySelect.options.length] = new Option("Hampton schools",'all=Hampton'); mySelect.options[mySelect.options.length] = new Option("Johnson City schools",'all=Johnson_City'); mySelect.options[mySelect.options.length] = new Option("Roan Mountain schools",'all=Roan_Mountain'); mySelect.options[mySelect.options.length] = new Option("Watauga schools",'all=Watauga'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.21211243,36.34461212),"
",iconGr); mySelect.options[mySelect.options.length] = new Option("Carter County Adult High School",'Elizabethton=' + Elizabethton.length); Johnson_City[Johnson_City.length] = createMarker(new GPoint(-82.27793884,36.32755280),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Central Elementary School",'Johnson_City=' + Johnson_City.length); Roan_Mountain[Roan_Mountain.length] = createMarker(new GPoint(-82.05248260,36.19259644),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Cloudland Elementary School",'Roan_Mountain=' + Roan_Mountain.length); Roan_Mountain[Roan_Mountain.length] = createMarker(new GPoint(-82.06604004,36.19417191),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Cloudland High School",'Roan_Mountain=' + Roan_Mountain.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.24367100,36.34638700),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Early Learning Center",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.20077515,36.33877945),"",iconRd); mySelect.options[mySelect.options.length] = new Option("East Side Elementary School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.23516083,36.34655762),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Elizabethton High School",'Elizabethton=' + Elizabethton.length); Hampton[Hampton.length] = createMarker(new GPoint(-82.16479492,36.28556061),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Hampton Elementary School",'Hampton=' + Hampton.length); Hampton[Hampton.length] = createMarker(new GPoint(-82.17324066,36.27379990),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Hampton High School",'Hampton=' + Hampton.length); Johnson_City[Johnson_City.length] = createMarker(new GPoint(-82.28426361,36.31679916),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Happy Valley Elementary School",'Johnson_City=' + Johnson_City.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.27930450,36.31500626),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Happy Valley High School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.27860260,36.31546021),"",iconBl); mySelect.options[mySelect.options.length] = new Option("Happy Valley Middle School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.21626282,36.34489059),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Harold Mccormick Elementary School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.15859222,36.37199020),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Hunter Elementary School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.21887207,36.37700653),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Keenburg Elementary School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.16311646,36.31939697),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Lift Academy Alternative",'Elizabethton=' + Elizabethton.length); Butler[Butler.length] = createMarker(new GPoint(-82.02142334,36.31416321),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Little Milligan Elementary School",'Butler=' + Butler.length); Watauga[Watauga.length] = createMarker(new GPoint(-82.26089478,36.36856461),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Range Elementary School",'Watauga=' + Watauga.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.22737885,36.34728622),"",iconBl); mySelect.options[mySelect.options.length] = new Option("T A Dugger Junior High School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.09179687,36.40150070),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Unaka Elementary School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.14369965,36.38421249),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Unaka High School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.19391632,36.30838013),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Valley Forge Elementary School",'Elizabethton=' + Elizabethton.length); Elizabethton[Elizabethton.length] = createMarker(new GPoint(-82.24566650,36.34324646),"",iconRd); mySelect.options[mySelect.options.length] = new Option("West Side Elementary School",'Elizabethton=' + Elizabethton.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(Butler); map.removeOverlays(Elizabethton); map.removeOverlays(Hampton); map.removeOverlays(Johnson_City); map.removeOverlays(Roan_Mountain); map.removeOverlays(Watauga); 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(Elizabethton);map.removeOverlays(Butler); map.removeOverlays(Elizabethton); map.removeOverlays(Hampton); map.removeOverlays(Johnson_City); map.removeOverlays(Roan_Mountain); map.removeOverlays(Watauga); map.addOverlays(Butler); centerByArray(Butler, false, false); cntMarker += Butler.length; map.addOverlays(Elizabethton); centerByArray(Elizabethton, false, false); cntMarker += Elizabethton.length; map.addOverlays(Hampton); centerByArray(Hampton, false, false); cntMarker += Hampton.length; map.addOverlays(Johnson_City); centerByArray(Johnson_City, false, false); cntMarker += Johnson_City.length; map.addOverlays(Roan_Mountain); centerByArray(Roan_Mountain, false, false); cntMarker += Roan_Mountain.length; map.addOverlays(Watauga); centerByArray(Watauga, false, false); cntMarker += Watauga.length; centerByArray(Elizabethton,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'); } }