C# 地图程序
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 库来操作地图控件和标记层,实现了以下功能:
- 初始化地图控件,并添加标记层和初始标记。
- 鼠标左键单击地图时,添加新标记。
- 鼠标右键单击标记时,删除该标记。
开发者可以根据需要添加更多交互功能和地图数据分析功能,以实现更多实用的地图程序
原文地址: https://www.cveoy.top/t/topic/g5Ua 著作权归作者所有。请勿转载和采集!