function SPGMaps(mapCanvas) {
	if(!GBrowserIsCompatible()) alert('Google Maps is not supported by your browser!');
	
	this.mapCanvas = mapCanvas;
	this.map = new GMap2(document.getElementById(this.mapCanvas));
	this.geocoder = new GClientGeocoder();
	this.defaultPoint = null;
	this.mapControl = new GMapTypeControl();
	
	this.map.addControl(this.mapControl);
	this.map.addControl(new GSmallMapControl())
	
	
	this.restart = function(zoom) {
		this.map.setCenter(this.defaultPoint, zoom)
	}
	
	this.plot = function(address) {
		var p = this;
		this.geocoder.getLatLng(
		    address,
		    function(point) {
		      if (!point) {
		        alert("Address not found");
		      } else {
		        p.map.setCenter(point, 18);
		        var marker = new GMarker(point);
		        p.map.addOverlay(marker);
		      }
		    }
		  );
	}
	
	this.zoom = function(gLatLng, zoom) {
		this.map.setCenter(gLatLng, zoom);
	}
	
	this.addressAsString = function(address) {
		return address['street'] + " " + address['city'] + ", " + address['state'] + " " + address['zip'] + " " + address['country'];
	}
	
}