Mapbox React Native模块中OfflinePack的存储大小与瓦片计数字段位置及含义咨询
Mapbox React Native模块中OfflinePack的存储大小与瓦片计数字段位置及含义咨询
我前段时间刚踩过这个坑!太懂你这种看着文档摸不着头脑的感觉了😅 当时我也想给用户展示已下载离线地图的存储空间,结果在createPack方法的onProgress回调里,OfflinePack的相关字段说明模糊得不行,查资料查得头大。
我先是翻遍了npm上@rnmapbox/maps的文档,接着又去啃Mapbox官方的iOS、Android原生文档,结果所有可能和存储大小沾边的字段,只标注了类型是number、double或者float,完全没明确说它们具体代表什么含义——就拿那个size字段来说,我一开始以为是存储大小,结果试了才发现完全不是,它的歧义真的太大了:可能是地图的像素/点尺寸,也可能是瓦片数量,甚至可能是内存占用,完全猜不准。
后来我靠打印所有字段的实时值,对比下载前后的变化才摸清楚门道,给你整理下准确的字段含义:
- 如果你要获取离线包实际占用的磁盘存储空间,看
OfflinePack的progress对象里的completedResourceSize字段,这个值的单位是字节,你可以转成MB或者GB给用户展示 - 要是想统计已下载的瓦片数量,对应的是
progress里的completedTileCount,而totalTileCount是这个离线包总共需要下载的瓦片总数 - 至于那个迷惑人的
size字段,它其实是指离线包覆盖区域的地图尺寸(以点为单位),和存储大小半毛钱关系都没有
官方文档这块确实做得不够到位,我也是踩了好几个坑才搞明白这些字段的真实含义,希望能帮到你!
内容来源于stack exchange
相关产品推荐
相关产品推荐

