ASP.NET编程知识之GMap.Net地图插件在WinForm和WPF中的应用 GMap.Net是一款功能强大且灵活的地图插件,它可以在WinForm和WPF应用程序中使用,以提供丰富的地图显示和交互功能。下面我们将详细介绍如何在WinForm和WPF中使用GMap.Net地图插件。 一、GMap.Net简介 GMap.Net是一款开源的地图插件,提供了丰富的地图显示和交互功能,支持多种地图提供商,如Google Maps、Bing Maps、Yahoo Maps等。GMap.Net支持WinForm和WPF应用程序,并提供了详细的文档和示例代码,帮助开发者快速上手。 二、在WinForm中使用GMap.Net 要在WinForm中使用GMap.Net,需要首先下载GMap.Net的源代码,并编译三个核心项目:GMap.Net.Core、GMap.Net.WindowsForms和GMap.Net.WindowsPresentation。然后,在WinForm项目中添加对GMap.Net.Core.DLL和GMap.Net.WindowsForms.DLL的引用。 接下来,需要创建一个UserControl,并继承自GMapControl,以便在WinForm中显示地图。例如: ```csharp namespace GMapWinFormDemo { public partial class MapControl : GMapControl { public MapControl() { InitializeComponent(); } } } ``` 在主Form中,需要添加相关的代码,以便显示地图和处理交互事件。例如: ```csharp namespace GMapWPFDemo { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); try { System.Net.IPHostEntry e = System.Net.Dns.GetHostEntry("www.google.com.hk"); } catch { mapControl.Manager.Mode = AccessMode.CacheOnly; MessageBox.Show("No internet connection available, going to CacheOnly mode.", "GMap.NET Demo", MessageBoxButton.OK, MessageBoxImage.Warning); } mapControl.MapProvider = GMapProviders.GoogleChinaMap; //google china 地图 mapControl.MinZoom = 2; //最小缩放 mapControl.MaxZoom = 17; //最大缩放 mapControl.Zoom = 5; //当前缩放 mapControl.ShowCenter = false; //不显示中心十字点 mapControl.DragButton = MouseButton.Left; //左键拖拽地图 mapControl.Position = new PointLatLng(32.064, 118.704); //地图中心位置:南京 mapControl.OnMapZoomChanged += new MapZoomChanged(mapControl_OnMapZoomChanged); mapControl.MouseLeftButtonDown += new MouseButtonEventHandler(mapControl_MouseLeftButtonDown); } } } ``` 三、在WPF中使用GMap.Net 在WPF中使用GMap.Net与WinForm中使用类似,需要首先下载GMap.Net的源代码,并编译三个核心项目:GMap.Net.Core、GMap.Net.WindowsForms和GMap.Net.WindowsPresentation。然后,在WPF项目中添加对GMap.Net.Core.DLL和GMap.Net.WindowsPresentation.DLL的引用。 接下来,需要创建一个UserControl,并继承自GMapControl,以便在WPF中显示地图。例如: ```csharp namespace GMapWPFDemo { public partial class MapControl : GMapControl { public MapControl() { InitializeComponent(); } } } ``` 在主Window中,需要添加相关的代码,以便显示地图和处理交互事件。例如: ```csharp namespace GMapWPFDemo { public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); try { System.Net.IPHostEntry e = System.Net.Dns.GetHostEntry("www.google.com.hk"); } catch { mapControl.Manager.Mode = AccessMode.CacheOnly; MessageBox.Show("No internet connection available, going to CacheOnly mode.", "GMap.NET Demo", MessageBoxButton.OK, MessageBoxImage.Warning); } mapControl.MapProvider = GMapProviders.GoogleChinaMap; //google china 地图 mapControl.MinZoom = 2; //最小缩放 mapControl.MaxZoom = 17; //最大缩放 mapControl.Zoom = 5; //当前缩放 mapControl.ShowCenter = false; //不显示中心十字点 mapControl.DragButton = MouseButton.Left; //左键拖拽地图 mapControl.Position = new PointLatLng(32.064, 118.704); //地图中心位置:南京 mapControl.OnMapZoomChanged += new MapZoomChanged(mapControl_OnMapZoomChanged); mapControl.MouseLeftButtonDown += new MouseButtonEventHandler(mapControl_MouseLeftButtonDown); } } } ``` 四、GMap.Net的优点和缺点 GMap.Net的优点包括: * 支持多种地图提供商 * 提供了丰富的地图显示和交互功能 * 支持WinForm和WPF应用程序 * 提供了详细的文档和示例代码 GMap.Net的缺点包括: * 需要编译三个核心项目 * 需要添加对DLL的引用 * 需要创建UserControl并继承自GMapControl GMap.Net是一款功能强大且灵活的地图插件,可以在WinForm和WPF应用程序中使用,以提供丰富的地图显示和交互功能。
2025-07-01 13:32:42 18KB asp.net 编程语言 wpf .net
1
GMap地图下载器是一款基于.Net Framework 4的软件工具,专为用户下载和保存GMap网络地图而设计。它利用GMap.NET库,一个强大的开源GIS(地理信息系统)组件,来实现地图数据的获取和显示。GMap.NET库提供了Windows Forms和Windows Presentation Foundation两个版本的API,使得开发人员可以在桌面应用中轻松集成地图功能。 GMap.NET.Core.dll是该库的核心部分,包含了地图服务的抽象和基本功能,如定位、地图类型切换、缩放、平移等。它支持多种地图提供商,如Google Maps、Bing Maps、OpenStreetMap等,提供了一种统一的接口来与这些服务交互。通过GMap.NET.Core,你可以访问地图的卫星视图、地形图、交通图等多种视图,并可以获取特定区域的地图瓦片。 GMap.NET.WindowsForms.dll是针对Windows Forms应用程序的实现,允许开发者在WinForm界面中嵌入交互式地图。它提供了丰富的控件和事件处理,例如鼠标操作、标记添加、路线规划等功能。开发者可以通过简单的代码就能实现在WinForm应用中显示和操作地图。 GMap.NET.WindowsPresentation.dll则是针对WPF(Windows Presentation Foundation)应用的版本,提供了与Windows Forms相似的功能,但适应了WPF的XAML设计和数据绑定机制。开发者可以利用此库在WPF应用中构建更加美观和动态的地图界面。 使用GMap地图下载器,用户可以指定地图的范围、级别和保存格式,批量下载地图数据。这在离线地图应用、地图数据分析或地图服务开发中非常有用。例如,户外活动爱好者可以下载目的地的高分辨率地图,以便在没有网络连接的情况下使用;或者开发者可以利用下载的数据进行地图渲染、地理分析等任务。 需要注意的是,使用GMap地图下载器时应遵守各地图服务提供商的使用条款,避免非法商业用途和侵犯版权。同时,由于地图数据的不断更新,下载的地图可能与实时情况有所差异,因此在重要场合使用时需谨慎。 GMap地图下载器结合GMap.NET库,为开发者和普通用户提供了一种便捷的方式,用于获取和存储网络地图数据,为离线地图应用或地图开发工作提供了强有力的支持。
2025-04-22 21:30:43 3.02MB GMap
1
GMap.NET is great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding, directions and maps from Coogle, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yendux, Mapy.cz, Maps.lt, iKarte.lv, NearMap, OviMap, CloudMade, WikiMapia, MapQuest in Windows Forms & Presentation, supports caching and runs on windows mobile!
2024-06-05 09:36:15 4.91MB GMap
1
GMap.NET 实例
2024-03-16 09:36:54 643KB GMap.NET
1
ROS实战-gmapping建立地图
1
GMap.NET.WindowsForms:基于windowsforms的地图浏览工具
2023-11-05 18:13:03 2.13MB GMap.NET WindowsForms
1
高德地图瓦片下载,只针对高德
2023-10-20 08:44:00 64.12MB gmap
1
ggmap, 在带有ggplot2的R 中,用于绘制地图的软件包 ggmap使用英镑ggmap可以轻松检索来自流行在线地图服务( 如 谷歌地图,OpenStreetMap, 雄蕊地图,以及使用英镑的ggplot2 框架)的光栅地图平铺:library(ggmap)us <- c(l
2023-05-23 18:44:59 4.59MB 开源
1
SLAM_GMAPPING SLAM(同步本地化和映射)是在构建或更新未知环境的地图时同时跟踪代理在其中的位置的计算问题。 它包含软件包openslam_gmapping和slam_gmapping ,这是OpenSlam Gmapping的ROS2包装器。 该包装器已通过Crystal Clemmys和Dashing Diademata成功测试。 使用slam_gmapping,您可以根据激光和移动机器人收集的数据来创建二维占用栅格图(如建筑物平面图)。 发射: ros2 launch slam_gmapping slam_gmapping.launch.py 节点slam_gmap
2023-04-12 15:56:27 167KB localization robotics mapping slam
1
C#开源地图GMap开发示例程序,里面有各种对GMap的简单操作的示例,满足地图的基本开发。下载后,项目中附带地图,用VS都直接运行工程。
2023-03-09 17:38:51 29.39MB C# GIS GMAP 开源
1