android – 在集群管理器上刷新标记
作者:互联网
当用户导航地图时,应用程序将获得新的位置供他查看.但是地图并没有使用新标记令人耳目一新.
收到带有地点的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();
}
}
第一个请求让他们好,但第二个请求什么也没做.
解决方法:
使用:
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,google-maps,markerclusterer 来源: https://codeday.me/bug/20190714/1459371.html