如何在 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
,其中要替换的缓存位于该文件夹中。
但是!不要忘记主要的事情:
- Gmap 仅在
MainMap.Manager.Mode = AccessMode.ServerAndCache;
模式下缓存数据。在CacheOnly
中,它将使用所有已创建的缓存,在ServerOnly
中,它将从服务器加载所有数据,而不在本地缓存。 - 为了强制缓存过程,请使用
TilePrefetcher
。示例here .
关于GMap.NET显式加载缓存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40847505/