c# winform GMAP.NET离线模式怎么保存地图?

c# winform GMAP.NET离线模式怎么保存地图?,第1张

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

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12388346.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存