function addMarkers() { mySelect = document.getElementById('selection'); Alakanuk = [];Chevak = [];Emmonak = [];Hooper_Bay = [];Mountain_Village = [];Kotlik = [];Marshall = [];Pilot_Station = [];St_Marys = [];Russian_Mission = [];Saint_Marys = [];Scammon_Bay = [];Sheldon_Point = [];mySelect.options[mySelect.options.length] = new Option("Alakanuk schools",'all=Alakanuk'); mySelect.options[mySelect.options.length] = new Option("Chevak schools",'all=Chevak'); mySelect.options[mySelect.options.length] = new Option("Emmonak schools",'all=Emmonak'); mySelect.options[mySelect.options.length] = new Option("Hooper Bay schools",'all=Hooper_Bay'); mySelect.options[mySelect.options.length] = new Option("Kotlik schools",'all=Kotlik'); mySelect.options[mySelect.options.length] = new Option("Marshall schools",'all=Marshall'); mySelect.options[mySelect.options.length] = new Option("Mountain Village schools",'all=Mountain_Village'); mySelect.options[mySelect.options.length] = new Option("Pilot Station schools",'all=Pilot_Station'); mySelect.options[mySelect.options.length] = new Option("Russian Mission schools",'all=Russian_Mission'); mySelect.options[mySelect.options.length] = new Option("Saint Marys schools",'all=Saint_Marys'); mySelect.options[mySelect.options.length] = new Option("Scammon Bay schools",'all=Scammon_Bay'); mySelect.options[mySelect.options.length] = new Option("Sheldon Point schools",'all=Sheldon_Point'); mySelect.options[mySelect.options.length] = new Option("St Marys schools",'all=St_Marys'); mySelect.options[mySelect.options.length] = new Option("---------------------------",''); Alakanuk[Alakanuk.length] = createMarker(new GPoint(-164.48950195,62.72480011),"
",iconGr); mySelect.options[mySelect.options.length] = new Option("Alakanuk School",'Alakanuk=' + Alakanuk.length); Chevak[Chevak.length] = createMarker(new GPoint(-165.58480835,61.52686691),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Chevak School",'Chevak=' + Chevak.length); Emmonak[Emmonak.length] = createMarker(new GPoint(-164.17460632,62.78099823),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Emmonak School",'Emmonak=' + Emmonak.length); Hooper_Bay[Hooper_Bay.length] = createMarker(new GPoint(-165.84219360,61.53210068),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Hooper Bay School",'Hooper_Bay=' + Hooper_Bay.length); Mountain_Village[Mountain_Village.length] = createMarker(new GPoint(-164.08320618,62.15990067),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Ignatius Beans School",'Mountain_Village=' + Mountain_Village.length); Kotlik[Kotlik.length] = createMarker(new GPoint(-163.52720642,63.02849960),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Kotlik School",'Kotlik=' + Kotlik.length); Marshall[Marshall.length] = createMarker(new GPoint(-162.08117676,61.87643433),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Marshall School",'Marshall=' + Marshall.length); Pilot_Station[Pilot_Station.length] = createMarker(new GPoint(-162.90589905,61.94449997),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Pilot Station School",'Pilot_Station=' + Pilot_Station.length); St_Marys[St_Marys.length] = createMarker(new GPoint(-131.64394800,55.34856000),"",iconRd); mySelect.options[mySelect.options.length] = new Option("Pitkas Point School",'St_Marys=' + St_Marys.length); Russian_Mission[Russian_Mission.length] = createMarker(new GPoint(-161.03689575,61.69829941),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Russian Mission School",'Russian_Mission=' + Russian_Mission.length); Saint_Marys[Saint_Marys.length] = createMarker(new GPoint(-113.61324600,33.78215500),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Saint Mary's School",'Saint_Marys=' + Saint_Marys.length); Scammon_Bay[Scammon_Bay.length] = createMarker(new GPoint(-165.58760071,61.84149933),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Scammon Bay School",'Scammon_Bay=' + Scammon_Bay.length); Sheldon_Point[Sheldon_Point.length] = createMarker(new GPoint(-164.78959656,62.58369827),"",iconGr); mySelect.options[mySelect.options.length] = new Option("Sheldon Point School",'Sheldon_Point=' + Sheldon_Point.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(Alakanuk); map.removeOverlays(Chevak); map.removeOverlays(Emmonak); map.removeOverlays(Hooper_Bay); map.removeOverlays(Kotlik); map.removeOverlays(Marshall); map.removeOverlays(Mountain_Village); map.removeOverlays(Pilot_Station); map.removeOverlays(Russian_Mission); map.removeOverlays(Saint_Marys); map.removeOverlays(Scammon_Bay); map.removeOverlays(Sheldon_Point); map.removeOverlays(St_Marys); 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(Alakanuk);map.removeOverlays(Alakanuk); map.removeOverlays(Chevak); map.removeOverlays(Emmonak); map.removeOverlays(Hooper_Bay); map.removeOverlays(Kotlik); map.removeOverlays(Marshall); map.removeOverlays(Mountain_Village); map.removeOverlays(Pilot_Station); map.removeOverlays(Russian_Mission); map.removeOverlays(Saint_Marys); map.removeOverlays(Scammon_Bay); map.removeOverlays(Sheldon_Point); map.removeOverlays(St_Marys); map.addOverlays(Alakanuk); centerByArray(Alakanuk, false, false); cntMarker += Alakanuk.length; map.addOverlays(Chevak); centerByArray(Chevak, false, false); cntMarker += Chevak.length; map.addOverlays(Emmonak); centerByArray(Emmonak, false, false); cntMarker += Emmonak.length; map.addOverlays(Hooper_Bay); centerByArray(Hooper_Bay, false, false); cntMarker += Hooper_Bay.length; map.addOverlays(Kotlik); centerByArray(Kotlik, false, false); cntMarker += Kotlik.length; map.addOverlays(Marshall); centerByArray(Marshall, false, false); cntMarker += Marshall.length; map.addOverlays(Mountain_Village); centerByArray(Mountain_Village, false, false); cntMarker += Mountain_Village.length; map.addOverlays(Pilot_Station); centerByArray(Pilot_Station, false, false); cntMarker += Pilot_Station.length; map.addOverlays(Russian_Mission); centerByArray(Russian_Mission, false, false); cntMarker += Russian_Mission.length; map.addOverlays(Saint_Marys); centerByArray(Saint_Marys, false, false); cntMarker += Saint_Marys.length; map.addOverlays(Scammon_Bay); centerByArray(Scammon_Bay, false, false); cntMarker += Scammon_Bay.length; map.addOverlays(Sheldon_Point); centerByArray(Sheldon_Point, false, false); cntMarker += Sheldon_Point.length; map.addOverlays(St_Marys); centerByArray(St_Marys, false, false); cntMarker += St_Marys.length; centerByArray(Alakanuk,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'); } }