GMap.net 离线地图问题
转载自百度知道:
请问一下,使用Gmap.net 怎么导入离线地图
我使用【http://www.cnblogs.com/enjoyeclipse/archive/2013/01/29/2882254.html】所提供的方式导出地图数据
但是在【C:\Users\用户名<你的计算机用户名>\AppData\Local\GMap.NET\TileDBv5\en】这个文件夹下看到的Data.gmdb永远是256m
用这个Data.gmdb文件也无法导入
请问导出地图数据的话还需要注意哪些地方?
离线地图导出后,要自己加载的,并不是那个目录下的,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; } } }
发现自己的不足,善于利用找到的方法去扬长避短。行动起来。