====== Source Code WebEditionSample KmlExtension CS 100629.zip ====== ====TestForm.aspx.cs==== using System; using System.Configuration; using ThinkGeo.MapSuite.Core; using ThinkGeo.MapSuite.WebEdition; using System.IO; using System.Collections.ObjectModel; namespace KmlExtensionWeb { 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("#E5E3DF")); Map1.CurrentExtent = new RectangleShape(-122.0874, 37.4245, -122.0804, 37.4201); Map1.MapUnit = GeographyUnit.DecimalDegree; WorldMapKitWmsWebOverlay worldMapKitOverlay = new WorldMapKitWmsWebOverlay(); Map1.CustomOverlays.Add(worldMapKitOverlay); KmlFeatureLayer layer = new KmlFeatureLayer(MapPath("~/App_Data/KML_Samples.kml")); layer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20; layer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = new AreaStyle(new GeoPen(GeoColor.SimpleColors.Black), new GeoSolidBrush(GeoColor.SimpleColors.Yellow)); layer.ZoomLevelSet.ZoomLevel01.DefaultLineStyle = new LineStyle(new GeoPen(GeoColor.SimpleColors.Blue, 5)); layer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle = new PointStyle(PointSymbolType.Circle, new GeoSolidBrush(GeoColor.SimpleColors.Green), 10); LayerOverlay dynamicOverlay = new LayerOverlay("DynamicOverlay"); dynamicOverlay.IsBaseOverlay = false; dynamicOverlay.Layers.Add("KmlLayer", layer); Map1.CustomOverlays.Add(dynamicOverlay); } } } } ====KmlFeatureLayer.cs==== using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ThinkGeo.MapSuite.Core { public class KmlFeatureLayer : FeatureLayer { protected KmlFeatureLayer() : this(string.Empty) { } public KmlFeatureLayer(string kmlPathFileName) : this(kmlPathFileName, KmlStringType.File) { } public KmlFeatureLayer(string kmlString, KmlStringType stringType) : base() { FeatureSource = new KmlFeatureSource(kmlString, stringType); } public override bool HasBoundingBox { get { return true; } } } } ====KmlFeatureSource.cs==== //KML reference // //URL of a