Imports ThinkGeo.MapSuite.Core Imports ThinkGeo.MapSuite.DesktopEdition Imports System Imports System.Globalization Imports System.Windows.Forms Public Class Form1 Dim longitude As Double Dim latitude As Double Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load WinformsMap1.MapUnit = GeographyUnit.DecimalDegree Dim all_town As ShapeFileFeatureLayer = New ShapeFileFeatureLayer("D:\GIS\TWD97\Twn_town.shp") all_town.Name = "all_town" all_town.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.CreateSimpleAreaStyle(GeoColor.SimpleColors.PaleGreen, GeoColor.GeographicColors.Ice) all_town.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20 Dim all_river As ShapeFileFeatureLayer = New ShapeFileFeatureLayer("D:\GIS\TWD97\Twn_river.shp") all_river.Name = "all_river" all_river.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Water1 all_river.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20 Dim LayerOverlay As LayerOverlay = New LayerOverlay() LayerOverlay.Layers.Add(all_town) LayerOverlay.Layers.Add(all_river) Dim carLayer As New InMemoryFeatureLayer() carLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle.PointType = PointType.Bitmap carLayer.ZoomLevelSet.ZoomLevel01.DefaultPointStyle.Image = New GeoImage("D:\GIS\D1.gif") carLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20 WinformsMap1.Overlays.Add(LayerOverlay) Dim dynamicOverlay As New LayerOverlay() dynamicOverlay.Layers.Add("PointLayer", carLayer) WinformsMap1.Overlays.Add("PointOverlay", dynamicOverlay) WinformsMap1.CurrentExtent = New RectangleShape(121, 25, 122, 22) WinformsMap1.Refresh() End Sub Private Sub focus_b_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles focus_b.Click Dim longitude As Double = Convert.ToDouble(TextBox1.Text, CultureInfo.InvariantCulture) Dim latitude As Double = Convert.ToDouble(TextBox2.Text, CultureInfo.InvariantCulture) Dim rectangle = New RectangleShape(longitude - 0.001, latitude + 0.001, longitude + 0.001, latitude - 0.001) WinformsMap1.CurrentExtent = rectangle Dim feature As New Feature(longitude, latitude, "Point1") Dim pointLayer As InMemoryFeatureLayer = DirectCast(WinformsMap1.FindFeatureLayer("PointLayer"), InMemoryFeatureLayer) If Not pointLayer.InternalFeatures.Contains("Point1") Then pointLayer.InternalFeatures.Add("Point1", feature) End If WinformsMap1.Refresh(WinformsMap1.Overlays("PointOverlay")) End Sub Private Sub btnZoomIn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZoomIn.Click WinformsMap1.ZoomIn(60) WinformsMap1.Refresh() End Sub Private Sub btnZoomOut_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnZoomOut.Click WinformsMap1.ZoomOut(30) WinformsMap1.Refresh() End Sub