四、关于osmdroid地图源的疑问
来源:互联网 发布:淘宝网雪纺女装 编辑:程序博客网 时间:2024/05/19 13:45
关于osmdroid地图源的疑问
1、能否一次使用多个tile source?
可以。一个案例如下:
- Weather
- Grid lines
- Data that’s too complex to draw or that’s drawn on a server
- Elevation data
Tile sources that use transparency
配置基本图层
mMapView.setTileSource(TileSourceFactory.USGS_TOPO);
创建新的瓦片提供者并连接瓦片源
apTileProviderBasic provider = new MapTileProviderBasic(getActivity(), new OnlineTileSourceBase(“MGRS”,0,15,256,”PNG”, new String[0]) {
@Override
public String getTileURLString(MapTile aTile) {
BoundingBox bbox=tile2boundingBox(aTile.getX(), aTile.getY(), aTile.getZoomLevel());
String baseUrl =”http://egeoint.nrlssc.navy.mil/arcgis/rest/services/usng/USNG_93/MapServer/export?dpi=96&transparent=true&format=png24&bbox=”+bbox.west+”,”+bbox.south+”,”+bbox.east+”,”+bbox.north+”&size=256,256&f=image”;
return baseUrl;
}
});
Note:tile2boundingBox方法来自于OSM的Slippy Map wiki入口。用于转换瓦片坐标到经纬度边界。
创建瓦片图层
TilesOverlay layer = new TilesOverlay(provider, getActivity());
设置背景和载入线为透明
layer.setLoadingBackgroundColor(Color.TRANSPARENT);layer.setLoadingLineColor(Color.TRANSPARENT);
将图层添加到视图上
mMapView.getOverlays().add(layer);
2、能否改变osmdroid查询地图缓存(archives)的位置?
可以,这取决于你你是用的osmdroid的版本。
当版本老于5.6时:OpenStreetMapTileProviderConstants.java
详见setCachePath和TILE_PATH_BASE。虽然这个类叫常量,但许多字段可以重写,你可以按自己的意愿进行设置。
当版本为5.6或更新时:Configuration.java
Configuration.getInstance().set...
3、是否有其他载入瓦片的机制?
有如下方式:
- Asset,你可以放zip格式的缓存在assets文件夹中
- 本地文件系统(zip、sqlite等缓存文件)
- 网络资源缓存-默认在/sdcard/osmdroid/tiles/cache.db下
- 网络资源-=需要什么下载什么
4、如何使用离线瓦片缓存(archives)?
存储位置
复制你的瓦片数据到osmdroid路径中(默认为/sdcard/osmdroid):
/sdcard/osmdroid/ myZippedArchive.zip myOsmdroidDatabase.sqlite myMBTiles.mbtile myGEMF.gemf/sdcard/osmdroid/tiles/ cache.db (this is used for downloaded and cached tiles)
选择瓦片提供者
默认的Map Tile Provider自动扫描osmdroid基本路径中的瓦片缓存(Archives)以及Assets文件夹,最后是在线资源
如果你无感的话,也可以使用OfflineOnlyTileProvider。
当使用的是自己的缓存格式时,你可以实现IArchiveFile接口,然后注册你的实现到ArchiveFileFactory。
- 四、关于osmdroid地图源的疑问
- osmdroid地图
- 地图开源项目OSMDroid简介
- android osmdroid 加载常用离线地图格式(开源的在线地图)
- 地图引擎 - OSMDroid
- osmdroid 离线地图加载
- 二、osmdroid地图资源
- Osmdroid 离线地图存放位置的研究和详细分析
- 百度地图的一些疑问
- osmdroid API解读(四)
- 关于javascript的疑问
- 关于变压器的疑问
- 关于 LoadLibrary 的疑问
- 关于junit的疑问
- 关于pthread_testcancel()的疑问
- 关于 retainCount 的疑问
- 关于Midi的疑问
- 关于IO的疑问
- UML用例图
- 面试小记2
- 初识网络爬虫之二:httplib与urllib实现
- Python初级教程
- Linux教程【8】-文件搜索命令
- 四、关于osmdroid地图源的疑问
- linked-list-cycle
- 银行业务对列简单模拟
- 3、jQuery的属性与样式--样式篇
- 初始网络爬虫之三:网络爬虫最常用的requests库
- php微信开发解决{"errcode":40016,"errmsg":"invalid button size hint: [pqd5ea0809vr22]"}
- Strust2人事管理系统
- PyQt5学习笔记02----初探Qt Designer 设计师
- Android自定义日历