PaN*_*TEC 19 android android-maps-v2 android-maps-utils
嗨我正在发出服务器请求,当我收到来自服务器的请求时,我正在Ui Thread上执行一个ClusterManager.addItem(),但这些项目不会在地图中绘制,只有当我进行缩放更新(+, - )时正在显示.此外,我尝试调试渲染器,但是直到我更新地图中的缩放才调用onBeforeClusterRendered/onBeforeClusterItemRendered.有关如何刷新map/clusterManager/markers的任何想法?
MarkerManager markerManager = new MarkerManager(map);
clusterManager = new ClusterManager<TweetClusterItem>(getActivity(), map, markerManager);
clusterManager.setRenderer(new TweetClusterRenderer(getActivity(), map, clusterManager, defaultMarker));
clusterManager.setOnClusterClickListener(this);
clusterManager.setOnClusterInfoWindowClickListener(this);
clusterManager.setOnClusterItemClickListener(this);
clusterManager.setOnClusterItemInfoWindowClickListener(this);
UiSettings uiSettings = map.getUiSettings();
uiSettings.setZoomControlsEnabled(true);
uiSettings.setMyLocationButtonEnabled(false);
map.setOnCameraChangeListener(clusterManager);
map.setOnMarkerClickListener(clusterManager);
map.setOnInfoWindowClickListener(clusterManager);
map.setOnMapClickListener(this);
Run Code Online (Sandbox Code Playgroud)
PaN*_*TEC 15
似乎我发现了一种解决方法.
ClusterManager使用渲染器,在这种情况下,它继承自DefaultClusterRenderer,后者使用内部缓存,即添加到地图的标记缓存.你可以直接访问地图上添加的标记,我不使用信息窗口,所以我添加标记options.title()一个ID,以便以后找到这个标记,所以:
@Override
protected void onBeforeClusterItemRendered(TweetClusterItem item, MarkerOptions markerOptions) {
.... Blabla code....
markerOptions.title(Long.toString(tweet.getId()));
.... Blabla code....
}
Run Code Online (Sandbox Code Playgroud)
当我想重新加载clusterItem时,我调用这个方法:
/**
* Workarround to repaint markers
* @param item item to repaint
*/
public void reloadMarker(TweetClusterItem item) {
MarkerManager.Collection markerCollection = clusterManager.getMarkerCollection();
Collection<Marker> markers = markerCollection.getMarkers();
String strId = Long.toString(item.getTweet().getId());
for (Marker m : markers) {
if (strId.equals(m.getTitle())) {
m.setIcon( ICON TO SET);
break;
}
}
}
Run Code Online (Sandbox Code Playgroud)
也许是有点hacky,但它的工作原理,我没有找到任何其他方式来做到这一点.如果你找到了另一种更好的方法,请分享:)
| 归档时间: |
|
| 查看次数: |
14614 次 |
| 最近记录: |