首先为了加载我下载的school16-19.gmdb文件,上网搜了很多博客,主要的程序语句就是这三句:
1.string mapPath = @"F:\visual studio\555\0811\Test1\Test1\bin";
2.gMapControl1.CacheLocation = mapPath;
3.GMap.NET.GMaps.Instance.ImportFromGMDB(mapPath);
主要就是1 2 搭配 或者1 3搭配。
我的尝试结果是1 2 搭配是我下载的离线地图的样子,1 3 不是,但有时候也能加载出来,但不知道加载的是什么时候缓存的图。
希望有大佬能够解惑,这两句语句各是什么意思。
然后说一下我踩到的坑,希望能帮助之后的人。
在路径设置时,刚开始我去采用这样的语句:
string mapPath = Application.StartupPath + "\\ChinaMap1To10.gmdb";//地图路径
行不通,加载不出来。不仅如此,如果我将已经下载好的离线地图放在对应的位置,系统还会报错:已存在同名文件。如果不讲下载好的离线地图放在上述位置,那就会在上述位置生产一个同名文件。(这里不懂为什么会生成一个大小为0的同名gmdb文件)。就算把前面的Application.StartuPath换成自定义路径写全也不行。
直到我重看了这篇文章:
c# winform GMAP.NET离线模式怎么保存和使用离线地图?_weixin_34266504的博客-CSDN博客
严格按照里面的步骤将
C:\Users\Administrator\AppData\Local\GMap.NET
这个地址下的TileDBv5文件夹复制到我自定义的路径,即最开始写的程序语句中的F盘,才终于将下载好的离线地图显示出来....
即在程序里的地址不能精确到gmdb文件,只能到TileDBv5文件夹的上级文件夹。
试了至少两个小时,我才终于得到想要的离线地图。。。太难了,希望之后GMap不要再给我搞事情。