2


私はAndroid用のGoogleマップAPIv2を使用しています。MapFragmentを実装し、必要な場所にマーカーを配置し、マーカー用のカスタム情報ウィンドウを追加しました。

問題は、インフォウィンドウにAsyncImagesあり、そこにProgressBarがあることです。問題は、 ProgressBarが回転せず、キャッシュから取得した後、Imageが設定されないことです。AsyncImagesはうまく機能します。私はそれを別のクラスでテストしました。 AsyncImagesビューを単一のProgressBar に置き換えました-同じです。回転しません。 助言がありますか?


UPD。

スピナーはスピンしない原因

注:描画される情報ウィンドウはライブビューではありません。ビューは、返されるときに画像としてレンダリングされます(View.draw(Canvas)を使用)。これは、ビューに対するその後の変更がマップの情報ウィンドウに反映されないことを意味します。後で(たとえば、画像が読み込まれた後に)情報ウィンドウを更新するには、showInfoWindow()を呼び出します。さらに、情報ウィンドウは、タッチイベントやジェスチャイベントなどの通常のビューに典型的な対話性を尊重しません。ただし、以下のセクションで説明するように、情報ウィンドウ全体で一般的なクリックイベントを聞くことができます。

だから問題は-マップ上のウェブ/キャッシュからAsyncImagesを最良の方法で実現する方法は? getContentInfo()メソッドと
は別の場所にViews配列を作成し、OnImageDownloadedのようなリスナーsmthも作成しますか?

4

2 に答える 2

5

Google Maps Android API v2 Documentationに記載されているとおり:

注: 描画される情報ウィンドウはライブ ビューではありません。View.draw(Canvas)ビューは、返されるときに( を使用して) イメージとしてレンダリングされます。これは、ビューに対するその後の変更がマップ上の情報ウィンドウに反映されないことを意味します。後で情報ウィンドウを更新するには (たとえば、画像が読み込まれた後)、 を呼び出しますshowInfoWindow()。さらに、情報ウィンドウは、タッチやジェスチャ イベントなど、通常のビューに典型的な対話性を考慮しません。ただし、以下のセクションで説明するように、情報ウィンドウ全体で一般的なクリック イベントを聞くことができます。

showInfoWindow()おそらく、コードのどこかでもう一度呼び出してみてください。

于 2013-01-15T09:25:52.123 に答える
0

私はここでも同じ問題を抱えていました。

回転している(不確定な)プログレスバーに対してshowInfoWindows()を呼び出すことは私には意味がないと思います。また、それが機能するかどうかもわかりません。(もちろん、showinfoWindowsは水平方向のプログレスバーに意味があるかもしれません)そこで、私は次の3つの解決策のいずれかを選びました。

1)「読み込み中...」というテキストの横にプログレスバーをアニメーション化せずに残しました。少なくともユーザーにアイデアを提供します。2)ローディングスピニングホイールをUIの別の場所に配置します。3)ダイアログフラグメントを使用して読み込み手順を示しますが、実際にはアプリで実現したい感覚によって異なります。

個人的には最初のものを選びました。

Googleが将来これを修正することを本当に望んでいます。

于 2013-03-04T08:51:25.917 に答える