react-native - 下载开放街道地图的tiles.png
问题描述
出于这个原因,我正在尝试在反应原生应用程序中使用离线开放街道地图,并且根据 反应原生地图,我需要以特定格式存储图块:
本地存储的瓦片的路径模板。模式 {x} {y} {z} 将在运行时被替换
例如,/storage/emulated/0/mytiles /{z}/{x}/{y}.png
我尝试使用瓷砖服务器下载瓷砖,但是,我发现这将花费很多时间(这几乎是不可能的)
我还查看了下载瓷砖的建议方法,但是,我不知道文件扩展名而且我不知道是否可以将其中一个转换为 png,因此,我想知道是否有一种开源/免费的方法可以做到这一点
我还发现,这个软件,但我只能使用它到 zoom=13,否则它不是免费的。
解决方案
通常禁止批量下载。请参阅瓷砖使用政策。引用重要部分:
OpenStreetMap 自己的服务器完全在捐赠的资源上运行。
OpenStreetMap 数据可供所有人免费使用。我们的瓷砖服务器不是。
强烈建议不要批量下载。不要不必要地下载瓷砖。特别是,禁止以 17 或更高的缩放级别下载重要区域以供离线或以后使用 [...]
您可以通过安装渲染软件(例如TileMill)或安装您自己的 tile-server来渲染您自己的光栅图块。或者看看商业 OSM 软件和服务。
或者切换到矢量图块。获取原始 OSM 数据相当容易。矢量图块允许您在设备上即时渲染图块。
推荐阅读
- javascript - 未捕获的类型错误:无法读取未定义的属性“路线”
- ruby - Ruby:为什么救援块值而不是确保块?
- javascript - Vue / Vuetify 文本字段验证取决于复选框
- sql - SQL 查询 - 找不到包含两个特定组件的父部件
- javascript - 如何在 JavaScript 中计算两个日期之间的昼夜小时数
- powershell - Powershell 5.1.16299.1146 Get-ADGroupMember 发生操作错误
- amazon-web-services - AWS 配置选项 source_profile 在调用 AssumeRole 操作时导致 AccessDenied
- google-maps - 如何在本机反应中放大特定标记并可以选择地图中的任何其他标记?
- vb.net - 在函数内使用“exit for”
- python - ValueError:形状(1,1)和(4,1)未对齐:1(dim 1)!= 4(dim 0)