var map = null; var localSearch = new GlocalSearch(); var icon = new GIcon(); //icon.image = "http://www.google.com/mapfiles/marker.png"; //icon.shadow = "http://www.google.com/mapfiles/shadow50.png"; icon.image = "http://www.silvercross.co.uk/images/static/logo_gmap.gif"; //icon.shadow = "http://192.168.0.123/silvercross/images/shadow-marker.png"; icon.iconSize = new GSize(100.0, 28.0); icon.shadowSize = new GSize(100.0, 28.0); icon.iconAnchor = new GPoint(17.0, 23.0); icon.infoWindowAnchor = new GPoint(17.0, 23.0); var mapShowFlag = Array(); function seeMap(mapNo) { if(mapShowFlag[mapNo] == true) { document.getElementById('resultDiv_'+mapNo).className = 'resultDiv'; mapShowFlag[mapNo] = false; } else { document.getElementById('resultDiv_'+mapNo).className = 'resultDiv mapOpen'; mapShowFlag[mapNo] = true; } } function usePointFromPostcode(address, postcode, callbackFunction, mapNo) { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById('map_'+mapNo)); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); //addLoadEvent(mapLoad); //addUnLoadEvent(GUnload); localSearch.setSearchCompleteCallback(null, function() { if (localSearch.results[0]) { var resultLat = localSearch.results[0].lat; var resultLng = localSearch.results[0].lng; var point = new GLatLng(resultLat,resultLng); callbackFunction(point,address,mapNo); } else{ alert(address+" not found!"); } }); localSearch.execute(postcode + ", UK"); } } // Callback function function setCenterToPoint(point,address,mapNo) { map.setCenter(point, 17); placeMarkerAtPoint(point,address); //document.getElementById('result_'+mapNo).innerHTML = ''; } function placeMarkerAtPoint(point,address) { var marker = new GMarker(point,icon); map.addOverlay(marker); var WINDOW_HTML = '
'+address+'<\/div>'; GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(WINDOW_HTML); }); marker.openInfoWindowHtml(WINDOW_HTML); //GEvent.addListener(marker, "click", function() { // marker.openInfoWindowHtml("Marker " + letter + ""); }); } function printMap(address) { //var address = document.getElementById('address').value; window.open('http://maps.google.co.uk/maps?f=q&hl=en&&ie=UTF8&z=16&iwloc=addr&om=1&pw=2&q='+address+''); } function calcDistance(your_address, callbackFunction) { localSearch.setSearchCompleteCallback(null, function() { if (localSearch.results[0]) { var resultLat = localSearch.results[0].lat; var resultLng = localSearch.results[0].lng; var your_address_point = new GLatLng(resultLat,resultLng); callbackFunction(your_address_point); }else{ alert("Address not found!"); } }); localSearch.execute(your_address + ", UK"); } // Callback function function showDistance(your_address_point) { var marker = new GMarker(point); var marker2 = new GMarker(your_address_point); var distance = marker.getPoint().distanceFrom(marker2.getPoint())/1000; distance = distance * 0.621371192; if (distance.toFixed) { distance = distance.toFixed(1); } //document.getElementById('result').innerHTML = 'Distance is: '+distance+' miles'; } function mapLoad() { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map")); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); //map.setCenter(new GLatLng(54.622978,-2.592773), 5); } } function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } } function addUnLoadEvent(func) { var oldonunload = window.onunload; if (typeof window.onunload != 'function') { window.onunload = func; } else { window.onunload = function() { oldonunload(); func(); } } }