var map; var geocoder; var iconBlue = new GIcon(); iconBlue.image = 'http://www.buyearlygetnow.com/images/begn_google_map_dot.png'; // iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'; iconBlue.iconSize = new GSize(20,20); iconBlue.shadowSize = new GSize(22, 20); iconBlue.iconAnchor = new GPoint(6, 20); iconBlue.infoWindowAnchor = new GPoint(5, 1); var iconRed = new GIcon(); iconRed.image = 'http://www.buyearlygetnow.com/images/begn_google_map_dot.png'; //iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'; iconRed.iconSize = new GSize(20,20); iconRed.shadowSize = new GSize(22, 20); iconRed.iconAnchor = new GPoint(6, 20); iconRed.infoWindowAnchor = new GPoint(5, 1); var customIcons = []; customIcons["restaurant"] = iconBlue; customIcons["bar"] = iconRed; function load() { if (GBrowserIsCompatible()) { geocoder = new GClientGeocoder(); map = new GMap2(document.getElementById("map")); // map.addControl(new GSmallMapControl()); // map.addControl(new GMapTypeControl()); var customUI = map.getDefaultUI(); customUI.controls.scalecontrol = false; map.setUI(customUI); if (google.loader.ClientLocation){ var center = new google.maps.LatLng( google.loader.ClientLocation.latitude, google.loader.ClientLocation.longitude ); map.setCenter(center); $('#mapCaption').html(google.loader.ClientLocation.latitude+' '+google.loader.ClientLocation.longitude); }else{ map.setCenter(new GLatLng(38, -40), 2); } GDownloadUrl("googleMapFeeder.php", function(data) { var xml = GXml.parse(data); var markers = xml.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var city = markers[i].getAttribute("city"); var state = markers[i].getAttribute("state"); var zip = markers[i].getAttribute("zip"); var country = markers[i].getAttribute("country"); var url = markers[i].getAttribute("url"); var image_path = markers[i].getAttribute("image_path"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var marker = createMarker(point, name, address,city,state,zip,country,image_path,url); map.addOverlay(marker); } }); } } function createMarker(point,name,address,city,state,zip,country,image_path,url){ if(url!=''){ var nameDisplay=''+name+''; }else{ var nameDisplay=name; } var marker = new GMarker(point, customIcons['bar']); var image_var=''; if(image_path!=''){ image_var="
" image_var+=""+name+"
"; }else image_var=''; var html = "
"+image_var; html+="" + nameDisplay + "
" + address+"
"+city+" "+state+" "+zip+''+'
'; GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); }); return marker; } /* */ function searchLocations() { var address = document.getElementById('addressInput').value; geocoder.getLatLng(address, function(latlng) { if (!latlng) { alert(address + ' not found'); } else { searchLocationsNear(latlng); } }); } /* */ function searchLocationsNear(center) { var radius = document.getElementById('radiusSelect').value; var searchUrl = 'googleMapSearch.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius; GDownloadUrl(searchUrl, function(data) { var sidebar = document.getElementById('sidebar'); var xml = GXml.parse(data); var div2 = document.createElement('div'); var description = xml.documentElement.getElementsByTagName('extraMessage')[0]; //alert(description.childNodes[0].nodeValue); if(description!=''){ div2.innerHTML = description.childNodes[0].nodeValue+"

"; } /* */ var markers = xml.documentElement.getElementsByTagName('marker'); map.clearOverlays(); sidebar.innerHTML = ''; sidebar.appendChild(div2); if (markers.length == 0) { sidebar.innerHTML = 'No results found.'; map.setCenter(new GLatLng(40, -100), 4); return; } var bounds = new GLatLngBounds(); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute('name'); var address = markers[i].getAttribute('address'); var distance = parseFloat(markers[i].getAttribute('distance')); var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),parseFloat(markers[i].getAttribute('lng'))); var city = markers[i].getAttribute("city"); var state = markers[i].getAttribute("state"); var zip = markers[i].getAttribute("zip"); var country = markers[i].getAttribute("country"); var url = markers[i].getAttribute("url"); var image_path = markers[i].getAttribute("image_path"); var marker = createMarker(point, name, address,city,state,zip,country,image_path,url); map.addOverlay(marker); var sidebarEntry = createSidebarEntry(marker, name, address,city,state,distance,image_path,url); sidebar.appendChild(sidebarEntry); bounds.extend(point); } map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds)); }); } /* */ function createSidebarEntry(marker, name, address,city,state,distance,image_path,url) { var div = document.createElement('div'); var useImg=''; if(image_path!=''){ useImg="
"+name+"
"; } if(url!=''){ var siteName=''+name+''; }else{ var siteName=name; } var html = useImg; //(' + distance.toFixed(1) + ') html+='
'+ siteName + '
'+city+' '+state+'
'; div.innerHTML = html; div.style.cursor = 'pointer'; div.style.marginBottom = '0px'; div.style.padding = '2px'; div.style.marginTop = '0px'; div.style.display = 'block'; div.style.clear = 'both'; div.style.height = '45px'; div.style.borderBottom = '1px solid #CCCCCC'; div.style.backgroundColor = '#FFFFFF'; GEvent.addDomListener(div, 'click', function() { GEvent.trigger(marker, 'click'); }); GEvent.addDomListener(div, 'mouseover', function() { div.style.backgroundColor = '#eee'; }); GEvent.addDomListener(div, 'mouseout', function() { div.style.backgroundColor = '#fff'; }); return div; } $(function(){ load(); $('#addressInput').click(function(){ if($(this).val()=='Enter a city or zip/postal code'){ $(this).val(''); } }); }); //$('body').unload(GUnload());