2012-12-31 15 views
9

私はアンドロイドマップでデフォルトのinfowindowを閉じようとしていました。 .hideInfoWindow()を使用しましたが、何も追加しません。おかげさまで infowindowを非表示にするandroid map api v2

+0

は正しい方法でなければなりません。あなたの質問を編集してコードの重要な部分を追加できますか?どのようにマーカーを作成しますか?どのようにonMarkerClickメソッドを実装しますか? – muetzenflo

答えて

3

マーカーを2回目にクリックしたときに情報ウィンドウを閉じるとします。最後にクリックされたマーカーを追跡する必要があるようです。クリックされたマーカーが現在表示されているかどうかを確認して閉じることができませんが、これはうまく機能します。

private Marker lastClicked; 

private class MyMarkerClickListener implements OnMarkerClickListener { 

    @Override 
    public boolean onMarkerClick(Marker marker) { 
     if (lastClicked != null && lastClicked.equals(marker)) { 
      lastClicked = null; 
      marker.hideInfoWindow(); 
      return true; 
     } else { 
      lastClicked = marker; 
      return false; 
     } 
    } 
} 
7

使用

mapa.setOnInfoWindowClickListener(new GoogleMap.OnInfoWindowClickListener() { 

      @Override 
      public void onInfoWindowClick(Marker marker) { 


       marker.hideInfoWindow(); 
      } 
     }); 

私はそれが役に立てば幸い。この方法を使用して

10

変更return文

@Override 
public boolean onMarkerClick(Marker marker) { 
return false; 
} 

     (to) 

@Override 
public boolean onMarkerClick(Marker marker) { 
return true; 
} 
+0

ありがとう...魅力のように働いた#Sathesh –

+0

真を返すことは、地図上のカメラをマーカーの中心にしません! –

関連する問題