11

Google マップ コンポーネント (com.google.android.gms.maps.GoogleMap) を使用すると、カスタム タイル (OpenStreetMap など) をレンダリングできます。これらのタイルはデバイス上にあり、オフラインで使用できます。これは、TileProvider を拡張することによって行っていることです。以下と組み合わせてこれを行う:

mMap.setMapType(GoogleMap.MAP_TYPE_NONE);

私は Google マップ サーバーからデータを取得していません。このコンポーネントは、インターネット接続がなくても動作することが合理的に期待できます。(ここで強調しておきますが、 Google のデータをキャッシュしようとしているわけではありません。Google のマップ サーバーとは別にオフライン タイルを操作しています。)

初めて実行するときにデバイスがオフラインの場合、マップコンポーネントが機能しないことに気付くまで、すべて問題ないと思っていました。そのような場合、次のメッセージが表示されます。

マップの読み込みに失敗しました。Google サーバーに接続できませんでした

この背後にある理由は、コンポーネントの実行を許可するためにアプリを認証する必要がある Google の API キーだと思います。

誰でもこれが正しいことを確認できますか? 私が本当に確認したいのは、コンポーネントがオンラインで一度実行されれば、その後は正常に実行されるということです。コンポーネントが後で再認証する必要があり、基本的にアプリが役に立たなくなるタイムアウトの問題がないことを確認する必要があります。それには、他のコンポーネント (OS Android など) に移行する必要があります。

これについての光は大歓迎です。Google 開発者からの返信を期待できるチャネルを指摘されても、役に立ちます。

ありがとう

4

1 に答える 1