var map; var markerArray = []; var infoArray = []; var markerArray_new = []; var redrawPoints = true; var currentMarker = false; var categories = new Array(); var categoryIds = new Array(); var category_1 = new GIcon();category_1.image = "/map/images/redPin.png";category_1.iconSize = new GSize(18,18);category_1.iconAnchor = new GPoint(9,17);category_1.infoWindowAnchor = new GPoint(15, 3);categories[1] = category_1; categoryIds[categoryIds.length] = 1; var category_2 = new GIcon();category_2.image = "/map/images/orangePin.png";category_2.iconSize = new GSize(18,18);category_2.iconAnchor = new GPoint(9,17);category_2.infoWindowAnchor = new GPoint(15, 3);categories[2] = category_2; categoryIds[categoryIds.length] = 2; var category_3 = new GIcon();category_3.image = "/map/images/yellowPin.png";category_3.iconSize = new GSize(18,18);category_3.iconAnchor = new GPoint(9,17);category_3.infoWindowAnchor = new GPoint(15, 3);categories[3] = category_3; categoryIds[categoryIds.length] = 3; var category_17 = new GIcon();category_17.image = "/map/images/eor.png";category_17.iconSize = new GSize(18,18);category_17.iconAnchor = new GPoint(9,17);category_17.infoWindowAnchor = new GPoint(15,3);categories[17] = category_17; categoryIds[categoryIds.length] = 17; var category_18 = new GIcon();category_18.image = "/map/images/ecs.png";category_18.iconSize = new GSize(18,18);category_18.iconAnchor = new GPoint(9,17);category_18.infoWindowAnchor = new GPoint(15,3);categories[18] = category_18; categoryIds[categoryIds.length] = 18; var numCats = 5; function onLoad() { map = new GMap2($('map')); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.setCenter(new GLatLng(0,-37), 1); $('map_Controls').innerHTML = '
Sort The Map To Show Sites
 
'; $('map_Legend').innerHTML = '
Site Performance Conditions:  
Cogen   
GTI   
Combined Cycle   
Enhanced Oil Recovery/SAGD System   
Emissions Control Systems   
'; for (i = 0; i < numCats; i++) { var curCat = categoryIds[i]; $('map_checkbox' + curCat).checked = true; } updatePoints(); GEvent.addListener(map, 'moveend', function() { if(redrawPoints) { updatePoints(); } else { redrawPoints = true; } }); //GEvent.addListener(map, 'zoomend', function() { if(map.getZoom() < 2) { map.setZoom(2); } }); } function updatePoints() { var currentCats = ''; for (i = 0; i < numCats; i++) { var curCat = categoryIds[i]; if($('map_checkbox' + curCat).checked == true) { currentCats += curCat + ","; } } bounds = map.getBounds(); var southWest = bounds.getSouthWest(); var northEast = bounds.getNorthEast(); var minx = southWest.lng(); var maxx = northEast.lng(); var miny = southWest.lat(); var maxy = northEast.lat(); var myAjax = new Ajax.Request("javascript/getPoints.php", { method: 'get', parameters: "action=updateViewPort&category=" + currentCats + "&minx=" + minx + "&maxx=" + maxx + "&miny=" + miny + "&maxy=" + maxy, onComplete: updateMarkers }); } function searchLocation() { var myAjax = new Ajax.Request("javascript/getPoints.php", { method: 'get', parameters: "action=updateLocation&address=" + $('map_address').value, onComplete: updateLocation }); } function updateLocation(originalRequest) { eval(originalRequest.responseText); } function updateMarkers(originalRequest) { eval(originalRequest.responseText); for(k in markerArray) { if(!markerArray_new[k]) { if(k == currentMarker) { map.closeInfoWindow(); } map.removeOverlay(markerArray[k]); delete markerArray[k]; } } for(k in markerArray_new) { if(!markerArray[k]) { markerArray[k] = markerArray_new[k]; createMarker(markerArray[k],k); } } } function showInfo(key) { paulasrequest = map.getZoom() - 2; if(paulasrequest < 1) paulasrequest = 1; currentMarker = key; redrawPoints = false; map.setCenter(new GLatLng(markerArray[key].getPoint().lat(),markerArray[key].getPoint().lng()), paulasrequest); redrawPoints = false; markerArray[key].openInfoWindowHtml(infoArray[key]); } function createMarker(marker,key) { map.addOverlay(marker); GEvent.addListener(marker, 'click', function() { currentMarker = key; marker.openInfoWindowHtml(infoArray[key]); }); } function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } addLoadEvent(onLoad);