GMap.NET无法显示地图

4

我在尝试在我的Windows窗体应用程序中使用GMap.NET.WindowsForms控件,但我无法使其显示任何地图。

这是我所做的:

我通过从工具箱的上下文菜单中点击“选择项目...”并浏览下载的zip存档中包含的GMap.NET.WindowsForms.dll来将控件添加到Visual Studio 2010工具箱中。我还在我的解决方案中添加了对GMap.NET.Core.dll和System.Data.SQLite.dll的引用。

然后我将出现在工具箱中的GMapControl放置在我的应用程序的主窗体上,并将地图类型设置为GoogleMap。然而,当我运行我的应用程序时,控件会显示一个带有一段文字的蓝色屏幕,该文字说“很抱歉,但我们没有这个区域此缩放级别的影像”,或者是一个亮屏幕,完全没有数据(当我改变缩放级别时)。

这是我的代码:

  GMapMain.MapType = MapType.GoogleMap;
  GMapMain.MaxZoom = 100;
  GMapMain.MinZoom = 0;
  GMapMain.Zoom = 50;
  GMapMain.CurrentPosition = new PointLatLng(54.6961334816182, 25.2985095977783);

  GMapMain.ReloadMap();      

请帮忙。我不知道该怎么办,也找不到任何能帮我解决问题的信息在互联网上。
非常感谢您提前的帮助。
4个回答

7
在使用gmap控件之前,您可以使用以下语句:
GMapProvider.WebProxy = WebRequest.GetSystemWebProxy();
GMapProvider.WebProxy.Credentials = CredentialCache.DefaultNetworkCredentials;

我开发了一个包含GMap.net的应用程序。该应用程序在我们的环境中运行良好,但在客户环境中出现了错误消息异常“操作已超时”。添加此代码(绕过代理设置)解决了问题。感谢您的发布,Sudhakar! - FredyWenger
如果可以的话,我会给这个答案投十次票。谢谢。 - Jonathan Applebaum

4

尝试将实例模式设置为仅服务器

GMap.NET.GMaps.Instance.Mode = GMap.NET.AccessMode.ServerOnly


1

您的缩放级别看起来太高了。
缩放应该在1到17之间。


很遗憾,这并没有帮助到我。我仍然看到明亮的屏幕,但没有地图显示。 - Mariusz Schimke
不,我没有。你能告诉我这是什么以及如何做吗? - Mariusz Schimke
好的,我成功解决了问题。我下载了控件作者提供的演示应用程序的源代码,并从中复制了所有必要的初始化地图的代码。问题在于我使用了ServerAndCache访问模式,当我将其更改为Server访问模式时,控件正确显示了地图。我不确定原因是什么。我可能没有设置控件的一些重要属性,但我不知道是哪些。无论如何,感谢您的建议。 - Mariusz Schimke

0
在GMap.NET的1.7.0版本中,卫星视图无法正常工作,您应该从这里下载最新版本:

https://www.nuget.org/packages/GMap.NET.Presentation/

通过这个,你可以使用卫星视图。

如果你在环境中能够看到卫星视图,那是因为地图已经被缓存了,但你可能无法看到某些地方。使用新版本,你将从服务器下载地图并且可以完整地查看。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接