//------Create Map------------------ _mSvgEnabled = true; _mSvgForced = true; var polygonDisplayed = new Array(); var polygons = new Array(); berglist = []; var map; var originalZoomLevel = 5; var originalLat = '52'; var originalLng = '-57'; var currentZoom = originalZoomLevel; var currentLat = originalLat; var currentLng = originalLng; var selectedMark; function Querystring(qs){ this.params = new Object() this.get=Querystring_get if (qs == null) qs=location.search.substring(1,location.search.length) if (qs.length == 0) return qs = qs.replace(/\+/g, ' ') var args = qs.split('&') for (var i=0;i4){ addMapLayer('/satellite-coverage.aspx'); } removeMapLayer("bullseye"); drawCircles(selectedMark); }); } function createSmallMap(){ map = new GMap2(document.getElementById("smallmap")); map.setCenter(new GLatLng(originalLat,originalLng),originalZoomLevel); // map.setCenter(new GLatLng(originalLat,originalLng),originalZoomLevel, G_HYBRID_MAP); map.addControl(new GSmallMapControl()); map.addControl(new GMapTypeControl()); } function zoomToPoint(lng,lat,zoomLevel,delay,mark){ selectedMark=berglist[mark]; map.panTo(new GLatLng(parseFloat(lat),parseFloat(lng))); window.setTimeout(function() { map.setZoom(Number(zoomLevel)); if (selectedMark.my_html) { selectedMark.openInfoWindowHtml('
'+selectedMark.my_html+'
'); } drawCircles(selectedMark); }, delay); } //------Map icons and functions------------- var markerlist= []; myicons = {}; var icon= new GIcon(); icon.image = "/media/221-icon_sat.png"; icon.shadow = "/media/226-icon_sat_shadow.png"; icon.printImage = "/media/6188-icon_sat.gif"; icon.mozPrintImage = "/media/6188-icon_sat.gif"; icon.iconSize = new GSize(27, 23); icon.shadowSize = new GSize(40, 23); icon.iconAnchor = new GPoint(13, 23); icon.infoWindowAnchor = new GPoint(15, 20); myicons["sat"] = icon; var icon= new GIcon(); icon.image = "/media/232-icon_eye.png"; icon.shadow = "/media/226-icon_sat_shadow.png"; icon.printImage = "/media/6195-icon_eye.gif"; icon.mozPrintImage = "/media/6195-icon_eye.gif"; icon.iconSize = new GSize(27, 23); icon.shadowSize = new GSize(40, 23); icon.iconAnchor = new GPoint(13, 23); icon.infoWindowAnchor = new GPoint(15, 20); myicons["eye"] = icon; var icon= new GIcon(); icon.image = "/media/1839-dd-start.png"; icon.shadow = "/media/1853-shadow50.png"; icon.iconSize = new GSize(20, 34); icon.shadowSize = new GSize(37, 34); icon.iconAnchor = new GPoint(10, 34); icon.infoWindowAnchor = new GPoint(10, 10); myicons["start"] = icon; var icon= new GIcon(); icon.image = "/media/1846-dd-end.png"; icon.shadow = "/media/1853-shadow50.png"; icon.iconSize = new GSize(20, 34); icon.shadowSize = new GSize(37, 34); icon.iconAnchor = new GPoint(10, 34); icon.infoWindowAnchor = new GPoint(10, 10); myicons["end"] = icon; var icon= new GIcon(); icon.image = "/media/2251-marker_20_red.png"; icon.shadow = "/media/2258-mm_20_shadow.png"; icon.iconSize = new GSize(12, 20); icon.shadowSize = new GSize(22, 20); icon.iconAnchor = new GPoint(12, 10); icon.infoWindowAnchor = new GPoint(5, 10); myicons["small"] = icon; var icon= new GIcon(); icon.image = "/media/3400-vic.png"; icon.shadow = "/media/3408-vic_shadow.png"; icon.iconSize = new GSize(27, 23); icon.shadowSize = new GSize(40, 23); icon.iconAnchor = new GPoint(13, 23); icon.infoWindowAnchor = new GPoint(15, 20); myicons["vic"] = icon; function addMapLayer(url){ var request = GXmlHttp.create(); request.open('GET', url, true); request.onreadystatechange = function() { if (request.readyState == 4) { var xmlDoc = request.responseXML; var id = xmlDoc.documentElement.getAttribute("id"); removeMapLayer(id); var markers = xmlDoc.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { // obtain the attribues of each marker var lat = parseFloat(markers[i].getAttribute("lat")); var lng = parseFloat(markers[i].getAttribute("lng")); var point = new GLatLng(lat,lng); var icon = markers[i].getAttribute("class"); var label = markers[i].getAttribute("title"); var infotag = markers[i].getElementsByTagName("infowindow"); if (infotag[0].xml){ var html = infotag[0].xml; }else{ var serializer = new XMLSerializer(); var html = serializer.serializeToString(infotag[0]); } var html = infotag[0].firstChild.data; var marker = new GMarker(point, myicons[icon]); marker.icon = icon; marker.my_html = html; marker.my_name = label; map.addOverlay(marker); markerlist[id].push(marker); berglist[label] = marker; } var circles = xmlDoc.documentElement.getElementsByTagName("circle"); for (var i = 0; i < circles.length; i++) { // obtain the attribues of each marker var lat = parseFloat(circles[i].getAttribute("lat")); var lng = parseFloat(circles[i].getAttribute("lng")); var color = circles[i].getAttribute("color"); var icon = circles[i].getAttribute("class"); var label = circles[i].getAttribute("title"); var center = new GLatLng(lat,lng); var radius = new XDistance(circles[i].getAttribute("radius"), XDistance.KM); var polygon = JPolygon.createRegularPolygonFromRadius(center, radius, 36, 0, color, true) polygon.my_name = label; map.addOverlay(polygon); markerlist[id].push(polygon); polygonDisplayed[0] = true; } // Add polyline var polylines = xmlDoc.documentElement.getElementsByTagName("polyline"); var allpoints =[]; for (var i = 0; i < polylines.length; i++) { // var linecolor=polylines[i].getAttribute("color"); //temporarily hacked var linecolor="#ff0000"; var lineweight=parseFloat(polylines[i].getAttribute("weight")); var lineopacity=parseFloat(polylines[i].getAttribute("opacity")); var label = polylines[i].getAttribute("title"); var points = polylines[i].getElementsByTagName("point"); for (var x = 0; x < points.length; x++) { var lat = parseFloat(points[x].getAttribute("lat")); var lng = parseFloat(points[x].getAttribute("lng")); var newpoint = new GLatLng(lat,lng); allpoints.push(newpoint); } var mypolyline = new GPolyline(allpoints,linecolor,lineweight,lineopacity); mypolyline.my_name=label; map.addOverlay(mypolyline); markerlist[id].push(mypolyline); } } } request.send(null); GEvent.addListener(map, "click", function(overlay, point) { if (overlay) { if (overlay.my_html) { selectedMark = overlay; overlay.openInfoWindowHtml('
'+overlay.my_html+'
'); if (overlay.icon == 'eye'||overlay.icon=='sat'){ drawCircles(overlay); } } }else{ map.closeInfoWindow(); removeMapLayer("bullseye"); } }); } function removeMapLayer(id){ if(markerlist[id]){ for (var i = 0; i < markerlist[id].length; i++) { map.removeOverlay(markerlist[id][i]); } } markerlist[id] = []; } function getCenter(url){ var request = GXmlHttp.create(); request.open('GET', url, true); request.onreadystatechange = function() { if (request.readyState == 4) { var xmlDoc = request.responseXML; var lat = xmlDoc.documentElement.getAttribute("lat") ; var lng = xmlDoc.documentElement.getAttribute("lng"); var zoomLevel = xmlDoc.documentElement.getAttribute("zoom"); zoomToPoint(lng,lat,zoomLevel,2000); } } request.send(null); } //Generic onLoad script function addEvent(obj, evType, fn){ if (obj.addEventListener){ obj.addEventListener(evType, fn, false); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } function drawCircles(mark){ removeMapLayer("bullseye"); var marker = mark; if (map.getZoom() < 12){ drawCircle(marker,"#0000FF",15); drawCircle(marker,"#00FF00",10); drawCircle(marker,"#FF0000",5); } } function drawCircle(mark,color,rad){ var lat=mark.getPoint().lat(); var lng=mark.getPoint().lng(); var center = new GLatLng(lat,lng); var radius = new XDistance(rad, XDistance.KM); //alert(radius); var polygon = JPolygon.createRegularPolygonFromRadius(center, radius, 36, 0, color, true) map.addOverlay(polygon); markerlist["bullseye"].push(polygon); } function doServices(){ var lat=selectedMark.getPoint().lat(); var lng=selectedMark.getPoint().lng(); var zoom=map.getZoom(); var url = '/visiting-nl.aspx?lat=' + lat + '&lng=' + lng + '&zoom=' + zoom; window.location=url; }