function GoogleMapManager(myName, divName, addr) {
  this.name      = myName;
  this.divName   = divName;
  this.address   = addr;
  this.map       = null;
  this.geocoder  = null;

  this.initialize = function() {
    if (GBrowserIsCompatible()) {
      var divElement = document.getElementById(this.divName);

      if (divElement) {
        this.map       = new GMap2(divElement);
//        this.map.setUIToDefault();
        var customUI = this.map.getDefaultUI();
        // Remove MapType.G_HYBRID_MAP
        customUI.maptypes.hybrid    = true;
        customUI.maptypes.normal    = false;
        customUI.maptypes.satellite = false;
        customUI.maptypes.physical  = false;
        this.map.setUI(customUI);
      } else {
        alert('counld not find map element ' + this.divName);
      }

      this.geocoder  = new GClientGeocoder();
      this.showAddress();
    }
  }

  this.showAddress = function() {
    if (this.geocoder) {
      var map     = this.map;
      var address = this.address;
      this.geocoder.getLatLng(
        address,
        function(point) {
          if (!point) {
            alert(address + " not found");
          } else {
            map.setCenter(point, 4);
            var marker = new GMarker(point);
            map.addOverlay(marker);
//            marker.openInfoWindowHtml(address);
          }
        }
      );
    }
  }
}

