我想在我的React Native应用中启用用户离线使用地图,我正在使用react-native-maps。
我想仅为预定义区域(比如一座城市)提供离线模式,因此我需要下载所有所需的瓦片,这将是大量的图像,所以我想知道是否有一种方法在Google地图API中下载地图区域(就像在Google地图应用程序中一样)?
根据文档,可以启用缓存,我也按照文档做了同样的事情,但在我的情况下,我不想缓存用户访问的每个地方,正如我所说,我只想缓存/下载预定义区域。
编辑1
react-native-maps支持离线导航,为此,我需要使用以下代码:
<LocalTile pathTemplate={this.state.pathTemplate} tileSize={256}/>
使用路径模板指向我的瓦片位置,该位置必须具有以下层次结构:
location/{z}/{x}/{y}
因此,我的真正问题是如何获取我的区域的瓷砖。
我可以通过从谷歌地图瓦片服务器手动保存瓦片来完成,但我不知道是否合法,也需要花费大量时间和计算(当缩放时,我需要计算下一个瓦片的坐标)。
因此,如果Google地图API提供一种下载特定区域瓦片(需要缩放)的方法,那么就很好了。
另一种选择是使用其他地图提供程序,如OpenStreetMap,但在这里,我也需要找到一种一次性下载所有瓦片的方法。