发布网友 发布时间:2022-04-23 14:17
共1个回答
热心网友 时间:2022-04-27 14:13
离线地图导出后,要自己加载的,并不是那个目录下的,C:\Users\用户名<你的计算机用户名>\AppData\Local\GMap.NET\TileDBv5\en下的那个文件包含缓存的。
代码如下:
MapManagerLoader.Instance.Load(ConfigurationManager.AppSettings["MapData"]); // 载入离线地图数据,MapData自己在appSetting中定义
this.MainMap.Manager.Mode = AccessMode.CacheOnly; //地图读取模式:服务器/本地缓存
其中MapManagerLoader代码如下:
using System.Threading;
using GMap.NET;
namespace Client.WPF.Util
{
public class MapManagerLoader
{
private static readonly MapManagerLoader _instance = new MapManagerLoader();
public static MapManagerLoader Instance
{
get { return _instance; }
}
private MapManagerLoader()
{
}
private bool _isLoaded;
public bool Load(string fileName)
{
if (!_isLoaded)
{
new Thread(() => GMaps.Instance.ImportFromGMDB(fileName)).Start();
_isLoaded = true;
}
return _isLoaded;
}
}
}