我有一个在地图上显示点的应用程序。当前用户有 3 个地图叠加层 (1);(2) 为用户的朋友/联系人;(3) 为他人。我试图允许用户选择地图上显示的内容。目标是允许他们显示每个人(用户、朋友和其他人)或过滤地图以仅显示他们的朋友/联系人。
我可以很好地将不同的叠加层添加到地图中。问题是删除覆盖。
我在这里尝试了这种方法——如何刷新活动?地图视图刷新失败- 建议使用以下代码按索引删除项目:
private void showFriends(){
mapOverlays = mapView.getOverlays();
int j = othersMapOverlay.size();
for(int i = friendsMapOverlay.size; i < j; i++){
mapOverlays.remove(i);
}
mapView.invalidate();
}
我的策略是创建所有覆盖的列表 - mapOverlays,然后使用 for 循环,从第一个覆盖的末尾开始,friendsMapOverlay,然后删除,直到我到达第二个地图覆盖的末尾,othersMapOverlay。
那没有用。
我还尝试使用两者来删除列表对象
mapOverlays.remove(othersMapOverlay);
或者
mapView.getOverlays().remove(othersMapOverlay);
但这些都不起作用。知道如何解决这个问题吗?