android - 刷新集群管理器上的标记

标签 android google-maps markerclusterer

当用户在 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/

相关文章:

java - 不推荐使用 findPreference() 方法? - 安卓

java - Google 搜索应用在 Android 中发送通知 'at this shop?'

ios - 带有谷歌地图的 Google-Maps-iOS-Utils 缺少 GMSGeometryUtils.h

android - GoogleMap android 中的 ClusterManager

php - 服务器端集群?

Android googlemap 内存不足

android - 如何使用 GPS 查找用户的步行速度?

android - 通过将高度设置为 wrap_content 来裁剪和显示 child ,同时允许 child 占据其内容的全部高度?

javascript - 如何使用 geoXML3 getPaths()

android - Flutter Location Package帮助:我想将用户证明的坐标提取为单独的var/string或double