GMap.NET显式加载缓存?

标签 gmap.net

如何在 GMap.NET 中显式加载 Data.gmdb 缓存文件?我尝试将在我的计算机上创建的文件复制到另一台计算机并在离线模式下运行应用程序,但缓存文件(在 PC1-Online 中生成)不适用于 PC2-Offline。有没有办法显式加载文件?

最佳答案

我认为您可以尝试以这种方式将 your-cache-file.gmdb 加载到您的应用程序中:

在您的 MainForm_Load 监听器中执行以下操作:

 string pathToExecutable = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
 GMaps.Instance.ImportFromGMDB(pathToExecutable + "\your-cache-file.gmdb"); //or just whatever path to your cache 

或者这样:

YourGMapControl.CacheLocation = System.IO.Path.GetDirectoryName(Application.ExecutablePath);

最后一个在您的可执行目录文件夹中创建TileDBv5/en/Data.gmdb,其中要替换的缓存位于该文件夹中。

但是!不要忘记主要的事情:

  1. Gmap 仅在 MainMap.Manager.Mode = AccessMode.ServerAndCache; 模式下缓存数据。在CacheOnly中,它将使用所有已创建的缓存,在ServerOnly中,它将从服务器加载所有数据,而不在本地缓存。
  2. 为了强制缓存过程,请使用TilePrefetcher。示例here .

关于GMap.NET显式加载缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40847505/

相关文章:

c# - GMap.Net 标记最初在不正确的位置

c# - 如何在Gmap.Net中显示车辆移动方向

c# - Gmap.Net 中的 map 旋转以使其跟踪

winforms - GMap.NET Windows Forms 用鼠标移动 map

.net - GMAP.Net 是否有谷歌地图限制,每天有 1500 个查询?

c# - 从 2240.7288 中检索 40.7288(缺少前两个值)

c# - Gmap.net与SQLite数据库

c# - Gmap.net 标记删除

c# - 如何从我的 Gmap.NET 获取位置信息?