
1)GMAP.NET是开源地图控件,可以使用多个基于WEB服务的地图源:谷歌地图、微软BING地图……
2)在你应碧帆用悔或雹程序中,使用这套控件从这些地图源获取并显示地图的同时,地图数据也被保存到你的计算机上。这样,不联网时,使用地图的应团含用程序仍然能够使用已经保存在本计算机的地图数据。
3)保存地图数据的过程是自动完成的,不需要你做任何编程
4)地图数据通常保存在文件夹C:\Users\[用户名]\AppData\Local\GMap.NET下,这个文件夹是保存地图数据默认的位置
5)你可以将这个文件下的所有文件和文件复制到任何地方,比如,复制到D:\GMap.NET下
6)要使用离线地图,只需要:
//如果不使用默认文件夹下的离线地图文件夹,必须设置你使用的离线地图文件夹mapControl1.CacheLocation = @"D:\GMap.NET"
//只使用离线地图!
mapControl1.Manager.Mode = AccessMode.CacheOnly
离线地图导出后,要自己加载的,并不是那个目录下正坦的举肢桐,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
}
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)