var gmap = {
initialize : function(latitude, longitude, dto) {
	  if (GBrowserIsCompatible()) {
		var map = new GMap2(document.getElementById("map_canvas"));
	   map.setCenter(new GLatLng(latitude, longitude), 13);

		map.setUIToDefault();

		// Create a base icon for all of our markers that specifies the
		// shadow, icon dimensions, etc.
		var baseIcon = new GIcon(G_DEFAULT_ICON);
		baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
		baseIcon.iconSize = new GSize(20, 34);
		baseIcon.shadowSize = new GSize(37, 34);
		baseIcon.iconAnchor = new GPoint(9, 34);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);

		// Creates a marker whose info window displays the letter corresponding
		// to the given index.
		function createMarker(point, index, dto) {
		  var letter = String.fromCharCode("A".charCodeAt(0) + index);
		  var letteredIcon = new GIcon(baseIcon);
		  letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

		//  markerOptions = { icon:letteredIcon };
		  markerOptions = {  };
		  var marker = new GMarker(point, markerOptions);

		  GEvent.addListener(marker, "click", function() {
			
			contactDetails = "<strong>"+dto.businessName+"</strong><br/>";
			contactDetails += (dto.address1)?	dto.address1+"<br/>" : '';
			contactDetails += (dto.address2)?	dto.address2+"<br/>" : '';
			contactDetails += (dto.address3)?	dto.address3+"<br/>" : '';
			contactDetails += (dto.town)?	dto.town+"<br/>" : '';
			contactDetails += (dto.count)?	dto.county+"<br/>" : '';
			contactDetails += (dto.postcode)?	dto.postcode+"<br/>" : '';
			
			marker.openInfoWindowHtml(contactDetails);
		  });
		  return marker;
		}

		var latlng = new GLatLng(latitude, longitude);
		map.addOverlay(createMarker(latlng,0,dto));

	  }
	}
}