2016-08-09 5 views
0

この問題の理解に問題があります。 は私がAndroid - クラスタ項目の情報ウィンドウ(タイトル)を表示

@Override 
protected void onBeforeClusterItemRendered(OffersMarker item, 
              MarkerOptions markerOptions) { 
    int itemNumberOfOffers = item.getNrOfOffers(); 
    BitmapDescriptor markerDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.ro1); 

    markerOptions.icon(markerDescriptor); 
    markerOptions.snippet("Show"); 
    markerOptions.title("Show"); 
    super.onBeforeClusterItemRendered(item, markerOptions); 
} 

は私もClusterManagerの、私の活動で、私はこれを実行しているを持つクラスタレンダラ(OffersClusterRenderer)を持っている:

rentClusterManager = new ClusterManager<OffersMarker>(this, gmap); 
rentClusterManager.setRenderer(rentClusterRenderer); 

私の質問で、情報ウィンドウ(タイトル)を表示しない方法onClusterItemClickが呼び出されたときのマーカーの?

deafultで表示しないでください。それはGoogleのドキュメントでそう言います。

答えて

0

アクティビティでオーバーライドできるonClusterItemClickのメソッドを実装する必要があります。

+0

私はこの方法が、何それは私のタイトルを表示するように、それが含まれていなければならないことがありますか? – KasparTr

+0

getMap()を設定しましたか?setOnMarkerClickListener(mClusterManager); ? – NilayDani

+0

そしてplaceVO.setTitle( "あなたのタイトル")を設定する必要があります。 とスニペットplaceVO.setSnippet( "あなたのスニペット"); – NilayDani

0

@NilayDaniは正しいです。 onClusterItemClickのメソッドを実装する必要があります。それは情報ウィンドウのタイトルを表示するトリガーポイントです。

情報ウィンドウでは、マーカーをタップしたときにユーザーに情報を表示できます。一度に表示できる情報ウィンドウは1つだけです。ユーザーが別のマーカーをクリックすると、現在の情報ウィンドウが非表示になり、新しい情報ウィンドウが表示されます。

情報ウィンドウを追加する最も簡単な方法は、対応するマーカーのtitle()snippet()メソッドを設定することです。これらのプロパティを設定すると、マーカーがクリックされたときに情報ウィンドウが表示されます。

ここではサンプルコードでは、マーカーの位置を含むタイトルを表示する方法をスニペットとスニペットです:

static final LatLng MELBOURNE = new LatLng(-37.81319, 144.96298); 
Marker melbourne = mMap.addMarker(new MarkerOptions() 
          .position(MELBOURNE) 
          .title("Melbourne") 
          .snippet("Population: 4,137,400")); 

完全なコードを表示するには、ここでのデモコードをチェックしてください。ここでhttps://github.com/googlemaps/android-samples/tree/master/ApiDemos

+0

ありがとうございますが、私はClusterRenderer.onBeforeClusterItemRendered()メソッドに.setTitleと.setSnippetを持っています。 私はMap.setOnMarkerClickListener()もやっています。 onClusterItemClickListenerは機能していますが、マーカーをクリックするとタイトルが表示されません。 – KasparTr

1

は、私はそれを行うために管理方法です(これはKotlinコードですが、理解しておく必要があります)。 は、カスタムレンダラに、このメソッドを追加します。

internal fun showInfoWindow(marker: OffersMarker) { 
    this.getMarker(marker).showInfoWindow() 
} 

そしてonClusterItemClick(marker: OffersMarker)に次の行を追加します。

(mClusterManager.renderer as RentClusterRenderer).showInfoWindow(marker) 
関連する問題