オフライン設定でMapbox GL(JSとネイティブの両方について尋ねる)を使用する方法はありますか?MBTilesを使用すると、MBTilesファイルを使用するか、ラスターイメージを抽出できます。疑問に思います。 MapboxのサーバーへのWeb接続を要求するのではなく、Mapbox GLがローカルソースからデータをロードできるようにする同様の何かがある場合。ユーザーがオフラインのときにデータをキャッシュするだけではなく、実際には、常に完全にオフラインで実行されるマップを作成しています。ありがとうございます。
MapBox GL JSオフライン(カスタムサーバーで完全にホストされている、この場合はGitHub gh-pages)のサンプルは次の場所にあります。
http://klokantech.github.io/mapbox-gl-js-offline-example/
Javascript、css、フォント、さらにはMBTilesから解凍された事前にレンダリングされたベクタータイルでさえ、ディレクトリ内にあるだけで、ズーム可能なベクターマップを取得できます。
オンラインのどこかに無料でベクタータイルまたはラスタータイルを使用してMBTilesをホストする場合は、おそらく次のようになります。 https://github.com/klokantech/tileserver-php/
ベクタータイルで遊んでいる間、私はこれら2つのリポジトリのほとんどのユースケースを文書化しました。
IOS用のパッケージ済み/オフラインマップのサンプルプロジェクトは、次の場所にあります。
http://github.com/jaysquared/mapbox-gl-ios-offline-example
基本的には、iOSアプリ内でWebサーバーを実行し、タイルを提供します。ベクトルタイルと画像タイルで機能します。
まだですが、これは少なくともネイティブの開発ロードマップにあります。
https://github.com/mapbox/mapbox-gl-native/issues/584
ブラウザのJavaScriptを使用するのは難しいですが、実際にはコアユースケースではありませんが、実行できる可能性があります。
MBTilesは、アプリ内でWebサーバーをホストし、マップをlocalhost
にポイントすることで、Mapbox Maps iOSSDKに表示できます。私はここに私の解決策を投稿しました:
https://Gist.github.com/namannik/3b7c8b69c2d0768d0c2b48d2ed5ff71c
このソリューションと@ jaysquared.comによって投稿されたソリューションの違いは、このソリューションはstyle.json
を必要としないことです。