Hi Rui,
Ok, I did the test based on installation sample “Overlays/ShapeFilesOverGoogleMap.aspx”, and set width and height 2056, everything works fine. Here as following is the demo code. Is it possible to give us a demo which runs into your expected error if it doesn't work with you?
if (!Page.IsPostBack)
{
Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#E5E3DF"));
Map1.CurrentExtent = new RectangleShape(-13939426.6371, 6701997.4056, -7812401.86, 2626987.386962);
Map1.MapUnit = GeographyUnit.Meter;
Map1.MapTools.OverlaySwitcher.Enabled = true;
Map1.MapTools.MouseCoordinate.Enabled = true;
GoogleOverlay google = new GoogleOverlay("Google Map");
google.JavaScriptLibraryUri = new Uri(ConfigurationManager.AppSettings["GoogleUri"]);
google.GoogleMapType = GoogleMapType.Normal;
ShapeFileFeatureLayer shapeFileFeatureLayer = new ShapeFileFeatureLayer(MapPath("~/SampleData/USA/STATES.shp"));
shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.FromArgb(100,212,220,184), GeoColor.FromArgb(255,132,132,154), 1);
shapeFileFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
Proj4Projection proj4 = new Proj4Projection();
proj4.InternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(4326);
proj4.ExternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString();
shapeFileFeatureLayer.FeatureSource.Projection = proj4;
LayerOverlay shapeOverlay = new LayerOverlay("Shape Overlay", false, TileType.MultipleTile);
shapeOverlay.TileWidth = 2056;
shapeOverlay.TileHeight = 2506;
shapeOverlay.ServerCache = new ServerCache(@"e:\temp");
shapeOverlay.Layers.Add(shapeFileFeatureLayer);
shapeOverlay.TransitionEffect = TransitionEffect.None;
Map1.CustomOverlays.Add(google);
Map1.CustomOverlays.Add(shapeOverlay);
}
Thanks,
Johnny