2013-04-17 19 views
10

Googleマップコンポーネント(com.google.android.gms.maps.GoogleMap)では、カスタムタイル(OpenStreetMapなど)をレンダリングできます。これらのタイルはデバイス上にあり、オフラインで利用できます。これはTileProviderを拡張して私がやっていることです。一緒にこれを行う:アンドロイドGoogle Maps API v2をオフラインタイルのビューアとして使用することは可能ですか?

mMap.setMapType(GoogleMap.MAP_TYPE_NONE); 

私は、Googleマップのサーバからデータを引っ張っていないですし、コンポーネントが合理的にインターネットに接続せずに動作するように期待することができます。 (私はは私が Googleのデータをキャッシュしようとしているわけではないことをここで強調し;。私は独立して、Googleのマップサーバのオフラインタイルで働いています)私は、マップコンポーネントが動作しないことを実現するまで

私はすべてが大丈夫だったと思いましたもしが最初に実行された場合、はデバイスがオフラインです。そのような場合、私はメッセージを受け取ります:

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

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

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

これについての光については、非常に高く評価されます。私がGoogle開発者からの返信を得ることができるチャンネルを指し示していても、役に立つはずです。

おかげでグーグルの3.0.27のよう

+0

は、「でも、私はGoogleの開発者からの返信が有用であろう得ることを期待可能性があり、それを通してチャネルを指摘しています。」 - http://code.google.com/p/gmaps-api-issues/issues/list – CommonsWare

+0

コメントありがとうございます。私が指摘した問題も役に立ちました。 – guibar

+0

より良いソリューションをお探しですか?私は全く同じ問題を抱えています。私はインターネットに接続できないかもしれない携帯電話にアプリを搭載していますが、マップを使用するつもりがなければAPIキーを確認するのはばかばかしいようです。 – lostintranslation

答えて

8

は、それが固定されており、サーバが一度だけ連絡をする必要があるサービスのAPKを再生します。毎回logcatにエラーが表示されますが、正常に動作します。ここ

さらに詳しい情報: http://code.google.com/p/gmaps-api-issues/issues/detail?id=4817

、ここで: http://code.google.com/p/gmaps-api-issues/issues/detail?id=5017

+1

この便利な答えをありがとう。あなたが指摘している問題を読んだ後、私はまだ疑問を持っています。彼らは言う: "これはGoogle PlayサービスAPK(3.0.27)の最新のアップデートで修正する必要があります。アプリケーションが最初にロードされても、後で問題がなくなるまでインターネット接続が必要ですアプリケーションを開き、接続がないときにマップを使用してください。 「最初にロードされた」とは、最初に実行されたことを意味するのでしょうか、それとも接続でインストールするだけで十分ですか?私の場合、アプリケーションを一度実行する必要があるようです。 – guibar

+1

初めてインターネット接続が必要です。 –

+0

Googleのサービスは、MAP_TYPE_NONEを使用するときに便利な検証を強制しません。2)Google PlayサービスAPKはインストールされているアプリに潜入する可能性があり、マップやその他のAPIを使用するアプリが見つかった場合、インストール直後にAPIキーを確認する - これは通常インターネットに接続している場合です。おそらくgmaps-api-issuesでこのような機能要求を発行するのでしょうか? –

関連する問題