The syntax has not changed
makeMarker(options);
The options are Marker options, InfoWindow options and sidebar item options combined in a single object.

Accessibility

Button was chosen as sidebar row element. One of its benefits is that it can be focused by [Tab] and [shift]+[Tab] keys and selected by [Space] or [Enter].

CSS

Basic button doesn't look very good but it can styled by CSS. Try some different CSS.

Syntax

Syntax to get a marker with info window and clickable sidebar label:
makeMarker({
  position: new google.maps.LatLng(60.17295,24.93981),
  content: "Some text into the info bubble.",
  sidebarItem: "Label text",
});   

Options

sidebarItem
the string to be shown (html tags allowed)
sidebarItemClassName
CSS className, default "sidebar_item"
sidebarItemWidth
width, default "120px"

Discussion

Google Toolbar Sidewiki. Haven't one? Get it now.

Links

See the source this page or plain example with minimal html.

makeMarker() without sidebar

Drawing rectangles on v3 map

Overlaying images in v3

Kilometer/mile sized overlays in v3

More experiments

Rent A Coder

Listing

There is a separate constructor for SidebarItem(). makeMarker() calls that.
Spread Firefox Affiliate Button Google Chrome

/**
 * makeMarker() ver 0.2
 * creates Marker and InfoWindow on a Map() named 'map'
 * creates sidebar row in a DIV 'sidebar'
 * saves marker to markerArray and markerBounds
 * @param options object for Marker, InfoWindow and SidebarItem
 * @author Esa 2009
 */
var infoWindow = new google.maps.InfoWindow();
var markerBounds = new google.maps.LatLngBounds();
var markerArray = [];
 
function makeMarker(options){
  var pushPin = new google.maps.Marker({map:map});
  pushPin.setOptions(options);
  google.maps.event.addListener(pushPin, "click", function(){
    infoWindow.setOptions(options);
    infoWindow.open(map, pushPin);
    if(this.sidebarButton)this.sidebarButton.button.focus();
  });
  var idleIcon = pushPin.getIcon();
  if(options.sidebarItem){
    pushPin.sidebarButton = new SidebarItem(pushPin, options);
    pushPin.sidebarButton.addIn("sidebar");
  }
  markerBounds.extend(options.position);
  markerArray.push(pushPin);
  return pushPin;
}

google.maps.event.addListener(map, "click", function(){
  infoWindow.close();
});


/**
 * Creates a sidebar item 
 * @constructor
 * @author Esa 2009
 * @param marker
 * @param options object Supported properties: sidebarItem, sidebarItemClassName, sidebarItemWidth,
 */
function SidebarItem(marker, opts){
  var tag = opts.sidebarItemType || "button";
  var row = document.createElement(tag);
  row.innerHTML = opts.sidebarItem;
  row.className = opts.sidebarItemClassName || "sidebar_item";  
  row.style.display = "block";
  row.style.width = opts.sidebarItemWidth || "120px";
  row.onclick = function(){
    google.maps.event.trigger(marker, 'click');
  }
  row.onmouseover = function(){
    google.maps.event.trigger(marker, 'mouseover');
  }
  row.onmouseout = function(){
    google.maps.event.trigger(marker, 'mouseout');
  }
  this.button = row;
}
// adds a sidebar item to a 
SidebarItem.prototype.addIn = function(block){ if(block && block.nodeType == 1)this.div = block; else this.div = document.getElementById(block) || document.getElementById("sidebar") || document.getElementsByTagName("body")[0]; this.div.appendChild(this.button); } // deletes a sidebar item SidebarItem.prototype.remove = function(){ if(!this.div) return false; this.div.removeChild(this.button); return true; } //Feel free to use/develop/molest the functions as you like.