Code like this can be used to calculate the current relative scale of the map: private double getMapScale() { int dpi = 96; //number of pixels per inch; default is 96 if ((_map.GetFunctionality(0).GetType()) == typeof(ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality)) { ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality funcMap = (ESRI.ArcGIS.ADF.Web.DataSources.IMS.MapFunctionality) _map.GetFunctionality(0); MapView viewMap = funcMap.MapView; dpi = viewMap.ImageDescriptor.Dpi; } int inchesPerDD = 4371840; //number of inches in one degree latitude (approx) double mapW = _map.Extent.Width; //width of the map in decimal degrees int imgW = (int) _map.Width.Value; //width of the map image in pixels double inchesMap = mapW * inchesPerDD; //width of the map in inches double inchesImg = imgW / dpi; //width of the map image in inches return (inchesMap / inchesImg); //number of ground inches per inch of the image }