1

このリンクの投稿に同じ問題があると思います 別のマーカーは同じ情報ウィンドウのコンテンツを表示しますandroid google map v2

私は現在、Google マップ v2 を統合して、ユーザーが写真を撮り、地図上にマーカーを自動的にプロットできるようにするアプリを開発しています。

InfoWindowAdapter が動作していますが、以下に示すようにビットマップを設定すると、次のようになります。

ImageView ivIcon = ((ImageView)myContentsView.findViewById(R.id.iconImg));
ivIcon.setImageBitmap(getResizedBitmap(myBitmap.getBp(),100,100));

カメラを使用して複数の写真を撮る場合 (つまり、マップ上にそれぞれのマーカーがプロットされることを意味します)、マーカーはすべて同じ画像を共有します。これは、カメラから取得された最新の画像です。Bitmap オブジェクト名の違いをチェックして Class を作成すれば問題は解決すると思いましたが、解決しませんでした。

申請時は次のようです。

myMap.setInfoWindowAdapter(new MyInfoWindowAdapter());

すべてのマーカーに適用されます。

各マーカーが独自のカスタム情報ウィンドウ アダプターを持つようにするにはどうすればよいですか?

ありがとう!

=======================================編集========= ========================

ユーザーが写真を撮って、画像キャプチャの場所の地図にマーカーをプロットできるアプリケーションがあります。マーカーにはカスタム InfoWindow があります。私は解決策を試しましたが、それらは私にはあいまいです。

次のようにコードに何をしたかを説明してもよろしいですか:

googleMap.setInfoWindowAdapter(新しい InfoWindowAdapter()); マップ上のすべてのマーカーに影響しませんか?

CustomInfoBox の現在のコードは次のとおりです。

class MyInfoWindowAdapter は InfoWindowAdapter を実装します{

プライベート最終ビュー myContentsView;

  MyInfoWindowAdapter(){
   myContentsView = getLayoutInflater().inflate(R.layout.custom_info_window, null);
  }

  @Override
  public View getInfoContents(Marker marker) {

   //TextView tvTitle = ((TextView)myContentsView.findViewById(R.id.title));
   //       tvTitle.setText(marker.getTitle());

            TextView tvSnippet = ((TextView)myContentsView.findViewById(R.id.snippet));
            tvSnippet.setText(marker.getSnippet());
   ImageView ivIcon = ((ImageView)myContentsView.findViewById(R.id.badge));
            ivIcon.setImageBitmap(getResizedBitmap(myBitmap.getBp(),100,100));
            System.out.println("Custom Info Window: " + myBitmap.getBp());
            return myContentsView;
  }

  @Override
  public View getInfoWindow(Marker marker) {

   // TODO Auto-generated method stub
   return null;

  }

 }

googleMap.setInfoWindowAdapter(MyInfoWindowAdapter); を呼び出すと、すべてのマーカーのレイアウトが同じになり、同じ画像 (ユーザーが最後に撮影した画像) が表示されますが、これは私が望むものではありません。

どんな助けでも大歓迎です!ありがとう

4

0 に答える 0