reactjs - (离线地图)如何下载 osm 瓦片以在 react-native-maps 中使用离线地图
问题描述
尊敬的先生/女士,我想在我的项目中实现离线 osm 映射。但我没有找到任何关于如何下载瓷砖以供离线使用的适当文档。我目前正在使用 react-native-maps 包来实现自定义 Tile Overlay
import { LocalTile } from 'react-native-maps';
<MapView
region={this.state.region}
onRegionChange={this.onRegionChange}
>
<LocalTile
/**
* The path template of the locally stored tiles. The patterns {x} {y} {z} will be replaced at runtime
* For example, /storage/emulated/0/mytiles/{z}/{x}/{y}.png
*/
pathTemplate={this.state.pathTemplate}
/**
* The size of provided local tiles (usually 256 or 512).
*/
tileSize={256}
/>
</MapView>
解决方案
没有直接的方法可以为 OSM 下载离线栅格切片。渲染这些切片是非常耗费资源的,并且根据缩放级别,光栅切片的下载和存储大小将变得巨大。换句话说:应避免离线使用光栅图块。您应该考虑改用矢量图块。
可能的解决方案:
- 渲染您自己的光栅图块,例如使用Maperitive
- 切换到支持矢量切片的库并下载它们,例如从OpenMapTiles.com
推荐阅读
- r - 如何改变 ggarrange 中 ggplot 面板的相对宽度?
- typescript - 如何从函数参数类型中省略第一个参数?
- android - 在文本中显示数字时出现点错误
- javascript - Javascript:将返回的 JSON 对象属性转换为 PascalCase
- android - java.net.ConnectException Connection 拒绝尝试连接到 Kotlin 中的 localhost mongo DB
- vue.js - 渲染后Vue将更新的道具发送给孩子
- java - 如何替换 Maven 子模块 pom.xml 文件中的版本号?
- c - 在 C 中创建命令
- node.js - 我的世界实际上是如何连接到服务器的?
- python - 变量用于不同任务时的 Python 内存使用情况