osmdroid中为何显示空地图
2016-04-27 13:38
351 查看
最近想搞一下Osmdroid,发现官方demo中显示地图的基本功能都无法实现。按照官网demo,地图上都是灰色格子。而下载了OpenStreetMapViewer源码,在AS中竟然可以显示地图,并且Manifest.xml中对于permission的配置也是一样的。原因(官网上其实也讲了):对于6.0以上的需要进行WRITE_EXTERNAL_STORAGED permission的许可。于是乎测试了一下4.3,api18,同样的代码果然可以显示地图。转回来看了下OpenStreetMapViewer源码,发现其竟然又检查了一边WRITE_EXTERNAL_STORAGED
。于是乎,copy一下checkpermission()函数,加入onCreate函数,代码如下:
final private[b]intREQUEST_CODE_ASK_MULTIPLE_PERMISSIONS=124;
private void checkPermissions(){
Stringmessage="osmdroidpermissions:";
Stringstorage="noStorageaccesstostoremaptiles.";
if(Build.VERSION.SDK_INT>=23){//api 22应该也是同样的问题
List<String>permissions=newArrayList<>();
if(ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){
Log.d(message,storage);
permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
String[]params=permissions.toArray(newString[permissions.size()]);
requestPermissions(params,REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS);
}//else:Wealreadyhavepermissions,sohandleasnormal
Log.d(message,storage);
}
}
果然,久违的地图出现了。解决这个问题过程中发现,国内的资料实在是少,对于我等小白真是困难重重。
。于是乎,copy一下checkpermission()函数,加入onCreate函数,代码如下:
final private[b]intREQUEST_CODE_ASK_MULTIPLE_PERMISSIONS=124;
private void checkPermissions(){
Stringmessage="osmdroidpermissions:";
Stringstorage="noStorageaccesstostoremaptiles.";
if(Build.VERSION.SDK_INT>=23){//api 22应该也是同样的问题
List<String>permissions=newArrayList<>();
if(ContextCompat.checkSelfPermission(this,Manifest.permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){
Log.d(message,storage);
permissions.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
String[]params=permissions.toArray(newString[permissions.size()]);
requestPermissions(params,REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS);
}//else:Wealreadyhavepermissions,sohandleasnormal
Log.d(message,storage);
}
}
果然,久违的地图出现了。解决这个问题过程中发现,国内的资料实在是少,对于我等小白真是困难重重。
相关文章推荐
- osmdroid基础教程(1)
- osmdroid监听地图操作事件(2)
- Osmdroid加载第三方地图googlemap、bingmap等
- Osmdroid源码资源及简单研究
- Osmdroid源码编译
- osmdroid的使用
- osmdroid API解读(十五)
- osmdroid API解读(十四)
- osmdroid API解读(十三)
- osmdroid API解读(十二)
- osmdroid API解读(十一)
- osmdroid API解读(十)
- osmdroid API解读(九)
- osmdroid API解读(八)
- osmdroid API解读(六)
- osmdroid API解读(五)
- osmdroid API解读(四)
- osmdroid API解读(三)
- osmdroid API解读(二)
- osmdroid API解读(一)