2010-12-03 4 views
0

Googleマップを使用するAndroidアプリケーションがあります。私の最初のアクティビティは、クリック可能なアイコンで地図ビューを開始します。アイコンをクリックすると、別のマップで新しいアクティビティ(インテント)が開始されます。新しい地図から私は最初の地図に戻ってくる戻るボタンをクリックします。しかし、地図上でズームや移動を開始すると、最初にロードされたタイルだけが表示されます。これをどうやって変更できますか?Android Googleマップのタイルは「戻る」ボタンをクリックして読み込まれません。

携帯電話の向きを変更した場合、地図が更新されてから正常に動作します(アプリが再起動されるため)ので、向きを変更して再起動するのをやめるためにandroid:configChanges = "orientation"を追加しました。私はそれを追加しました。なぜなら、すべてのマーカーを再度読み込みたくないからです(Webサービスを使用していて、時間がかかります)。

元のマップに「戻る」をクリックするとタイルがロードされます。何か案は?

答えて

3

最近この問題に直面しました。あなたのログをチェックしてください。おそらく、 "IllegalStateException:Connection pool shutdown"の行に沿ってエラーが発生しています。私のように、あなたが見つけた唯一の答えは、自分のGoogle APIキーを正しく設定していなかった人たちのようでした。 - \

私はついにthis linkに突き当たりました。 (通常、これらの投稿を読むにはGoogleアカウントにサインインする必要があります)

アプリケーションごとに1つのマップアクティビティしか許可しないようなバグがあるようです。マップが爽やかであるとは何か、私は推測します。新しい地図を読み込んだ後、各地図のアクティビティを終了することでその周りを回り、ユーザが戻ったときにアクティビティ全体が再読み込みされます。理想的ではありませんが、これまでのところ私にとってうまくいきました。いくつかのより詳細に

  1. 後で取得するマップについての情報を保存します。地図の中心と地図のズームが最初に気になる。それをグローバルなどこかに置くか、あなたの意図を伝える。

  2. 第2アクティビティのインテントを起動した後、最初のアクティビティでfinish()を呼び出します。 2つのマップを同じマップとしてユーザーに表示する場合は、新しいアクティビティが開始されたときにデフォルトで発生するスライド遷移を強制的に終了します。

overridePendingTransition(0, 0);

  1. あなたの第2の地図アクティビティは、終了し、必要に応じて手順1を繰り返した後、使用して戻って最初のマップの活動をロードする必要があるとき:)(すぐに終了した後、この行を呼び出していることですかステップ2と同じメソッドです.2のコードはアクティビティのonBackPressed()メソッドに入ります。それ以外の場合は、適切な場合はキャンセルボタンなどがあります。

  2. 最初のアクティビティのonCreateでは、そのアクティビティが最後に表示されたときに保存されたものを確認し、マップを適切に変更してください。

たぶんそれは冗長だったが、私はこのサイトをたくさん使用して、私はいつもハハ、あまりにも少なすぎると言うものよりも多く言うの回答に感謝!

+0

はい。私はあなたがいつもその活動を終えて作り直すことによって示唆したようにやってしまった。正確には私が望んでいたものではありませんが、機能します。 – Damon

関連する問題