function Label(opt_options){
	this.setValues(opt_options);
	var span=this.span_=document.createElement('span');
	var div=this.div_=document.createElement('div');
	div.appendChild(span);
	div.style.cssText='position:absolute;display:none';
};
Label.prototype=new google.maps.OverlayView;
Label.prototype.onAdd=function(){
	var pane=this.getPanes().overlayImage;
	pane.appendChild(this.div_);
	var me=this;
	this.listeners_=[google.maps.event.addListener(this,'position_changed',function(){me.draw();}),google.maps.event.addListener(this,'text_changed',function(){me.draw();}),google.maps.event.addListener(this,'zindex_changed',function(){me.draw();})];
};
Label.prototype.onRemove=function(){
	this.div_.parentNode.removeChild(this.div_);
	for(var i=0,I=this.listeners_.length;i<I;++i){
		google.maps.event.removeListener(this.listeners_[i]);
	}
};
Label.prototype.draw=function(){
	var projection=this.getProjection();
	var position=projection.fromLatLngToDivPixel(this.get('position'));
	var offset=this.get('offset');
	var div=this.div_;
	div.style.left=(position.x+offset.width)+'px';
	div.style.top=(position.y+offset.height)+'px';
	div.style.display='block';
	if(this.get('zIndex')){
		div.style.zIndex=this.get('zIndex');
	}
	this.span_.innerHTML=this.get('text').toString();
};
