如何在 GMap.net 中将地图提供商设置为 OpenStreetMap
how to set map provider to OpenStreetMap in GMap.net
我有这个代码:
InitializeComponent();
mainMap.ShowCenter = false;
mainMap.MapProvider = GMap.NET.MapProviders.GoogleMapProvider.Instance;
//mainMap.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
mainMap.DragButton = MouseButtons.Left;
mainMap.Zoom = 5;
这是有效的,我可以在我的 window 上看到一张地图:
现在我想使用 OpenStreetMap 作为我的地图供应商。所以我把它改成了这个:
InitializeComponent();
mainMap.ShowCenter = false;
//mainMap.MapProvider = GMap.NET.MapProviders.GoogleMapProvider.Instance;
mainMap.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
mainMap.DragButton = MouseButtons.Left;
mainMap.Zoom = 5;
但是我可以得到一张地图:
如果我将地图提供者更改为 OpenStreet4UMapProvider,我将得到:
那么我应该使用哪个提供商来使用 GMap.Net
显示来自 OpenStreetMap 数据库的街道级数据
我找到了这个问题的原因:
我用的是这个控件的1.7版。升级到v后2.x(如果使用Nuget,需要卸载GMap包,搜索新版本安装新版本)
升级后,我可以毫无问题地使用 OpenStreetMap。
我有这个代码:
InitializeComponent();
mainMap.ShowCenter = false;
mainMap.MapProvider = GMap.NET.MapProviders.GoogleMapProvider.Instance;
//mainMap.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
mainMap.DragButton = MouseButtons.Left;
mainMap.Zoom = 5;
这是有效的,我可以在我的 window 上看到一张地图:
现在我想使用 OpenStreetMap 作为我的地图供应商。所以我把它改成了这个:
InitializeComponent();
mainMap.ShowCenter = false;
//mainMap.MapProvider = GMap.NET.MapProviders.GoogleMapProvider.Instance;
mainMap.MapProvider = GMap.NET.MapProviders.OpenStreetMapProvider.Instance;
GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly;
mainMap.DragButton = MouseButtons.Left;
mainMap.Zoom = 5;
但是我可以得到一张地图:
如果我将地图提供者更改为 OpenStreet4UMapProvider,我将得到:
那么我应该使用哪个提供商来使用 GMap.Net
显示来自 OpenStreetMap 数据库的街道级数据我找到了这个问题的原因:
我用的是这个控件的1.7版。升级到v后2.x(如果使用Nuget,需要卸载GMap包,搜索新版本安装新版本)
升级后,我可以毫无问题地使用 OpenStreetMap。