ユーザーが反応ネイティブアプリでオフラインでマップを使用できるようにしようとしています。 react-native-maps を使用しています
事前定義されたエリア(都市としましょう)だけにオフラインモードを提供したいので、膨大な数の画像になる必要なタイルをすべてダウンロードする必要があるので、GoogleマップAPIに方法があるのだろうか(Googleマップアプリのように)地図のエリアをダウンロードするには?
ドキュメントからキャッシングを有効にすることは可能ですが、(ドキュメントに従って)同じことをしますが、私の場合、私が言ったように、ユーザーが行くすべての場所をキャッシュしたくありません定義済みの領域をキャッシュ/ダウンロードしたいだけです。
編集1
react-native-maps オフラインナビゲーションをサポートします。このコードを使用する必要があります:
<LocalTile pathTemplate={this.state.pathTemplate} tileSize={256}/>
pathTemplateは、次の階層を持つ必要がある私のタイルの場所を指します:
location/{z}/{x}/{y}
したがって、私の本当の問題は、私の領域のタイルを取得する方法です。
Googleマップタイルからタイルを保存することで手動で行うことができます server ですが、それが正当かどうかはわかりません。また、多くの時間と計算が必要になります(ズームイン、次のタイルのコーディネートを計算する必要があります)
だから、グーグルマップAPIがエリアのタイルを(必要なズームで)ダウンロードする方法を提供するなら、それは素晴らしいでしょう、
別の代替案は OpenStreetMAp のような別のマッププロバイダーを使用することですが、ここでも、すべてのタイルを一度にダウンロードする方法を見つける必要があります
更新があります! mapboxがまだ安定していないため、react-native-mapsオフラインモードも使用する必要があります
現時点で、オフラインマッピングをサポートする唯一のオフライン反応ネイティブモジュールは react-native-mapbox-gl。 です。
<MapView>
<LocalTile
pathTemplate="../pathToLocalStoredTile.png"
tileSize={126}
/>
</MapView>
これはあなたにいくらかのサポートを与えるかもしれません。
Google Maps SDKにはこれが実装されていないため、オフラインでの唯一の可能性はカスタムタイルを使用することです。