function gmapsInit(args){
	var canvas_id=args.canvas_id || 'map_canvas';
	var map=new GMap2(document.getElementById(canvas_id));

	if(!args.hideControls){
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
	}
	
	var zoom=args.zoom || 17;
	
	if(args.type && args.type=='attractions'){
		if(args.id && args.id>0)
			zoom=5;
		else
			zoom=8;
	}
	
	map.setCenter(new GLatLng(args.center.lat, args.center.lng), zoom);

	//we need to add a unique string to the end of the geoxml url to prevent caching
	var d=new Date();

	var geoXML=location.protocol+"//"+location.host+"/loc";
	
	if(args.props){
		geoXML+=(geoXML.indexOf('?')>=0 ? '&' : '?')+"props="+args.props;
	}else if(args.comm_id>0){
		geoXML+=(geoXML.indexOf('?')>=0 ? '&' : '?')+"comm_id="+args.comm_id;
	}else if(args.prop_id && args.prop_id>0){
//		alert(args.center);
		geoXML+=(geoXML.indexOf('?')>=0 ? '&' : '?')+"prop_id="+args.prop_id;
	}
	
	if(args.type && args.type!=''){
		geoXML+=(geoXML.indexOf('?')>=0 ? '&' : '?')+'type='+args.type;
	}
	
	if(args.point){
		for(var i in args.point){
			geoXML+=(geoXML.indexOf('?')>=0 ? '&' : '?')+'point['+encodeURIComponent(i)+']'+'='+encodeURIComponent(args.point[i]);
		}
//		geoXML+=(geoXML.indexOf('?')>=0 ? '&' : '?')+'gps_lat='+args.point.lat+'&gps_lng='+args.point.lng;
	}
	
	_log('!!!',geoXML);
	
//	geoXML+="&"+d.getTime();

	geoXML=new GGeoXml(geoXML);

	map.addOverlay(geoXML);
}
