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;
二、http://www.cnblogs.com/luxiaoxun/p/3530341.html
GMap.Net開發之技巧小結
非常感謝分享,支持你。
有幾個問題請教,在你不忙的時候能給出答案,非常感謝
1. 我在離線地圖數據包時,在gMapControl的Load事件初始化地圖
new Thread(()=>GMap.Instance.ImportFromGMDB(AppDomain.CurrentDomain.BaseDirectory+"MapData\\Data_Terrain.gmdb")).Start();
gMapControl1.Manager.Mode = GMap.NET.AccessMode.ServerOnly;
//設置控件的地圖來源
gMapControl1.MapProvider = GMap.NET.MapProviders.GMapProviders.GoogleChinaTerrainMap;
//設置控件顯示的當前中心點位置
gMapControl1.Position = new GMap.NET.PointLatLng(21.0,116);
Mode 設置為 ServerOnly 時,地圖都是異常,Exception:未能解析遠程名稱:mt1.google.cn 等等同類異常。
如果:Mode 設置為 CacheOnly 時,地圖正常展示。
==---===
1、Manager.Mode,Mode 設置為 ServerOnly 時,gmap需要聯網獲取網絡服務上的地圖圖片,出現Exception說明它沒有正確獲取到。Mode 設置為 CacheOnly 時,訪問的是本地離線的,默認是在mapControl.CacheLocation這個路徑上的gmdb,不過你通過GMap.Instance.ImportFromGMDB這個接口已經設置了本地離線的gmdb數據包。