其他分享
首页 > 其他分享> > android – 在集群管理器上刷新标记

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