当用户在 map 上导航时,应用程序会获取新的位置供他查看。但是 map 并没有用新标记刷新。
收到包含地点的 JSON 后,此方法将它们放在 map 上。
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();
}
}
第一个请求使它们正常,但第二个请求什么也没做。
最佳答案
使用:
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();
}
}
关于android - 刷新集群管理器上的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26221666/