2014-10-06 4 views
2

사용자가지도를 탐색하는 동안 앱에 새로운 위치가 표시됩니다. 그러나지도는 새로운 마커로 상쾌하지 않습니다.클러스터 관리자의 마커 새로 고침

장소가있는 JSON을받은 후이 메서드는지도에 배치합니다.

private void setMarkers(JSONObject response) { 

    mClusterManager.clearItems(); 

    try { 
     JSONArray venues = response.getJSONArray("venues"); 

     for (int i = 0; i < venues.length(); i++) { 
      Venue venue = new Gson().fromJson(venues.getJSONObject(i).toString(), Venue.class); 
      MarkerItem marker = new MarkerItem(venue.getLat(), venue.getLng(), venue, R.drawable.pin_quente); 
      mClusterManager.addItem(marker); 
     } 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 

첫 번째 요청은 정상적으로 처리되지만 두 번째 요청은 아무 것도 수행하지 않습니다.

답변

11

사용 :

mClusterManager.cluster();

마커를 추가 한 후.

private void setMarkers(JSONObject response) { 

    mClusterManager.clearItems(); 

    try { 
     JSONArray venues = response.getJSONArray("venues"); 

     for (int i = 0; i < venues.length(); i++) { 
      Venue venue = new Gson().fromJson(venues.getJSONObject(i).toString(), Venue.class); 
      MarkerItem marker = new MarkerItem(venue.getLat(), venue.getLng(), venue, R.drawable.pin_quente); 
      mClusterManager.addItem(marker); 
     } 

     mClusterManager.cluster(); 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
}