Table of Contents

Source Code WebEditionSample CustomizeZoomLevels CS.zip

TestForm.aspx.cs

using System;
using System.Configuration;
using ThinkGeo.MapSuite.Core;
using ThinkGeo.MapSuite.WebEdition;
namespace CustomZoomLevelSet
{
    public partial class TestForm : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#B3C6D4"));
                Map1.CurrentExtent = new RectangleShape(-131.22, 55.05, -54.03, 16.91);
                Map1.MapUnit = GeographyUnit.DecimalDegree;
                WorldMapKitWmsWebOverlay worldMapKitOverlay = new WorldMapKitWmsWebOverlay();
                Map1.CustomOverlays.Add(worldMapKitOverlay);
                ShapeFileFeatureLayer USLayer = new ShapeFileFeatureLayer(MapPath("~/App_Data/states.shp"));
                USLayer.ZoomLevelSet.CustomZoomLevels.Add(GeAreatZoomLevel(7500000, AreaStyles.Country1));
                USLayer.ZoomLevelSet.CustomZoomLevels.Add(GeAreatZoomLevel(300000, AreaStyles.CreateSimpleAreaStyle(GeoColor.StandardColors.LightBlue, GeoColor.SimpleColors.PaleGreen)));
                USLayer.ZoomLevelSet.CustomZoomLevels.Add(GeAreatZoomLevel(50000, AreaStyles.County1));
                LayerOverlay staticOverlay = new LayerOverlay();
                staticOverlay.IsBaseOverlay = false;
                staticOverlay.Layers.Add(USLayer);
                Map1.CustomOverlays.Add(staticOverlay);
                Map1.ZoomLevelSet = GetCustomZoomLevelSet();
             }
        }
        private ZoomLevelSet GetCustomZoomLevelSet()
        {
            ZoomLevelSet zoomLevelSet = new ZoomLevelSet();
            zoomLevelSet.CustomZoomLevels.Add(new ZoomLevel(62500000));
            zoomLevelSet.CustomZoomLevels.Add(new ZoomLevel(30000000));
            zoomLevelSet.CustomZoomLevels.Add(new ZoomLevel(15000000));
            zoomLevelSet.CustomZoomLevels.Add(new ZoomLevel(7500000));
            zoomLevelSet.CustomZoomLevels.Add(new ZoomLevel(3000000));
            zoomLevelSet.CustomZoomLevels.Add(new ZoomLevel(1500000));
            zoomLevelSet.CustomZoomLevels.Add(new ZoomLevel(700000));
            return zoomLevelSet;
        }
        private ZoomLevel GeAreatZoomLevel(double scale, AreaStyle areaStyle)
        {
            ZoomLevel zoomLevel = new ZoomLevel(scale);
            zoomLevel.DefaultAreaStyle = areaStyle;
            return zoomLevel;
        }
    }
}

Footer.ascx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace CenterMapBasedOnLatLong.UC
{
    public partial class Footer : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
}

Header.ascx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace CenterMapBasedOnLatLong.UC
{
    public partial class Header : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
    }
}

TestForm.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TestForm.aspx.cs" Inherits="CustomZoomLevelSet.TestForm" %>
<%@ Register Assembly="WebEdition" Namespace="ThinkGeo.MapSuite.WebEdition" TagPrefix="cc1" %>
<%@ Register Src="UC/Footer.ascx" TagName="Footer" TagPrefix="uc1" %>
<%@ Register Src="UC/Header.ascx" TagName="Header" TagPrefix="uc2" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <link href="~/theme/default/samplepic/style.css" rel="stylesheet" type="text/css" />
    <link href="Theme/css.css" rel="stylesheet" type="text/css" />
    <title>WebCodeCommunityTemplete</title>
</head>
<body>
    <form id="form1" runat="server">
    <table border="0px" width="100%" cellpadding="0px" cellspacing="0px" style="height: 100%;">
        <tr>
            <td style="height: 82px;">
                <uc2:Header ID="Header1" runat="server" />
            </td>
        </tr>
        <tr>
            <td style="height: 100%; border-top: solid 1px #ece9d8;">
                <asp:ScriptManager ID="ScriptManager1" runat="server">
                </asp:ScriptManager>
                <cc1:Map ID="Map1" runat="server" Height="100%" Width="100%">
                </cc1:Map>
            </td>
        </tr>
        <tr>
            <td style="height: 50px; border-top: outset 0px #666666; background-color: #ece9d8;">
                <uc1:Footer ID="Footer1" runat="server" />
            </td>
        </tr>
    </table>
    </form>
</body>
</html>