C# 地图程序可以使用 .NET Framework 或 .NET Core 平台进行开发,通常需要使用地图 API(例如 Google Maps API、Bing Maps API 等)来获取地图数据和交互功能。下面是一个简单的 C# 地图程序示例:

using System;
using System.Windows.Forms;
using GMap.NET;
using GMap.NET.MapProviders;
using GMap.NET.WindowsForms;
using GMap.NET.WindowsForms.Markers;

namespace MapDemo
{
    public partial class Form1 : Form
    {
        private GMapOverlay markersOverlay;
        private GMapMarker currentMarker;

        public Form1()
        {
            InitializeComponent();

            // 初始化地图控件
            gMapControl1.MapProvider = GMapProviders.GoogleMap;
            gMapControl1.Position = new PointLatLng(39.915168, 116.403875);
            gMapControl1.MinZoom = 2;
            gMapControl1.MaxZoom = 18;
            gMapControl1.Zoom = 12;

            // 添加标记层
            markersOverlay = new GMapOverlay("markers");
            gMapControl1.Overlays.Add(markersOverlay);

            // 添加初始标记
            currentMarker = new GMarkerGoogle(gMapControl1.Position, GMarkerGoogleType.red);
            markersOverlay.Markers.Add(currentMarker);
        }

        private void gMapControl1_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                // 添加新标记
                PointLatLng point = gMapControl1.FromLocalToLatLng(e.X, e.Y);
                GMarkerGoogle marker = new GMarkerGoogle(point, GMarkerGoogleType.blue);
                markersOverlay.Markers.Add(marker);
            }
        }

        private void gMapControl1_OnMarkerClick(GMapMarker item, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Right)
            {
                // 删除标记
                markersOverlay.Markers.Remove(item);
            }
        }
    }
}

该程序使用 GMap.NET 库来操作地图控件和标记层,实现了以下功能:

  • 初始化地图控件,并添加标记层和初始标记。
  • 鼠标左键单击地图时,添加新标记。
  • 鼠标右键单击标记时,删除该标记。

开发者可以根据需要添加更多交互功能和地图数据分析功能,以实现更多实用的地图程序

C# 地图程序

原文地址: https://www.cveoy.top/t/topic/g5Ua 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录