Osmdroid - 更改本地地图文件夹

4
我正在使用 osmdroid 的离线版本,地图存放在 sdcard/osmdroid 中。您知道如何更改文件路径吗?我一直在搜索处理 ZIP 文件的代码,但没有找到任何解决方案。有人之前遇到过这个问题吗?
谢谢。

4
http://code.google.com/p/osmdroid/source/browse/trunk/osmdroid-android/src/main/java/org/osmdroid/tileprovider/constants/OpenStreetMapTileProviderConstants.java - Blackbelt
@blackbelt - 看起来很准确。在接口中使用static和final,所以除非你从源代码构建自己的版本,否则你只能使用现有的内容。 - NickT
谢谢,现在我需要改变它。你知道黑带吗?在osmdroid中处理解压缩ZIP文件的位置在哪里?回复一下,我会给你声望点数。谢谢。 - Waypoint
NickT - 哦,那太糟糕了...我不认为它可以作为一个课程供你自己下载和构建。 - Waypoint
@Waypoint - 是的,你可以获取源代码的副本,我自己没有这样做过,但如果你使用Subversion,它可以在http://code.google.com/p/osmdroid/source/checkout上获得。 - NickT
使用svn检出osmdroid源代码:svn checkout http://osmdroid.googlecode.com/svn/trunk/ osmdroid-read-only。 - Blackbelt
2个回答

4
如果你下载了关于osmdroid的代码包:osmdroid-android-3.0.8-sources,你可以打开类OpenStreetMapTileProviderConstants.java并以如下方式修改变量: 修改: public static final File OSMDROID_PATH = new File("/mnt/sdcard/osmdroid"); 改为* public static final File OSMDROID_PATH = new File("/mnt/ext_sdcard/yourfile"); 然后将你的地图瓦片放入yourfile中。

这看起来可以工作,但我不想分叉和编译自己的库。我只会坚持使用sdcard。他们为什么要在上面放final? - Tom Kincaid
我认为是因为他们想让它保持不变。@TomKincaid :D - gumuruh

2
在这里,你可以查看构建自己版本的OSMdroid的代码。更改ZIP和本地文件夹是完全可行的,我几个月前就这样做了。
负责ZIP的类有以下几个:
org/osmdroid/tileprovider/modules/ZipFileArchive.java
org/osmdroid/tileprovider/modules/MapTileFileArchiveProvider.java

谢谢Thommy,我正在使用Eclipse,但我在这里没有看到任何svn桥接解决方案?我需要安装某个插件才能检出OSMdroid源代码吗? - Waypoint
2
您可以使用您喜欢的 SVN 工具进行签出。无论是 Eclipse 插件还是独立工具都可以,这并不重要。签出后您只需要删除项目中所有的 .svn 文件夹即可。 - Thommy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接