c# winform GMAP.NET離線模式怎么保存和使用離線地圖?


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數據包。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM