4
Marker marker = mMap.addMarker(markerOptions);
marker.setTag(poi.getKey());
marker.hideInfoWindow();
builder.include(marker.getPosition());
此代碼正常工作,因爲我把它當作manuel。我做了一切marker.tag()
。我使用散列鍵來檢索我的pin。如何在Android中使用集羣算法時採用標記標記
mClusterManager.addItem()
我想使用這種方法。但我也想拿標記標記。所以我不想添加到地圖Marker marker = mMap.addMarker(markerOptions);
我該如何解決這個問題?
我想解釋更多細節。
public class PoiItem implements ClusterItem{
private final LatLng mPosition;
private String mTitle;
private String mSnippet;
private String tag;
private ResponsePoi pois;
public PoiItem(ResponsePoi poi,double lat, double lng,String tag) {
mPosition = new LatLng(lat, lng);
pois = poi;
mTitle = poi.getName();
mSnippet = poi.getAddress();
this.tag = tag;
}
private void setMyCluster(){
mClusterManager = new ClusterManager<PoiItem> (MainActivity.this,mMap);
mMap.setOnCameraIdleListener(mClusterManager);
mMap.setOnMarkerClickListener(mClusterManager);
}
setMyCluster();
for(HashMap.Entry<String, ResponsePoi> poi : pois.entrySet()) {
MarkerOptions markerOptions = new MarkerOptions()
.snippet(poi.getValue().getAddress())
.title(poi.getValue().getName())
.position(new LatLng(poi.getValue().getLocation().getL().get(0),poi.getValue().getLocation().getL().get(1)))
.icon(BitmapDescriptorFactory.fromBitmap(smallMarker));
/*
Marker marker = mMap.addMarker(markerOptions);
marker.setTag(poi.getKey());
marker.hideInfoWindow();
builder.include(marker.getPosition()); */
mClusterManager.addItem(new PoiItem(poi.getValue(),poi.getValue().getLocation().getL().get(0),poi.getValue().getLocation().getL().get(1),poi.getKey()));
}
首先,非常感謝你對你的答案。 我也覺得這個。但我的標籤是散列值。所以我不知道哪一個等於其他人。 你能告訴我什麼? – TeyteyLan
我現在明白了。完美的答案!謝謝@DanielNugent – TeyteyLan
由於onMarkerClick(Marker marker),ClusterManager.OnClusterItemClickListener不起作用。我在哪裏稱這種方法? – TeyteyLan