Android 删除3个地图覆盖中的1个
我有一个在地图上显示点的应用程序。当前用户有3个地图覆盖图(1);(2) 用于用户的朋友/联系人;(3) 对其他人来说。我试图允许用户选择地图上显示的内容。目标是允许他们显示所有人(用户、朋友和其他人)或过滤地图以仅显示他们的朋友/联系人 我可以在地图上添加不同的覆盖图。问题是移除覆盖层 我在这里尝试了这种方法--它建议使用以下代码通过索引删除项:Android 删除3个地图覆盖中的1个,android,overlay,android-mapview,Android,Overlay,Android Mapview,我有一个在地图上显示点的应用程序。当前用户有3个地图覆盖图(1);(2) 用于用户的朋友/联系人;(3) 对其他人来说。我试图允许用户选择地图上显示的内容。目标是允许他们显示所有人(用户、朋友和其他人)或过滤地图以仅显示他们的朋友/联系人 我可以在地图上添加不同的覆盖图。问题是移除覆盖层 我在这里尝试了这种方法--它建议使用以下代码通过索引删除项: private void showFriends(){ mapOverlays = mapView.getOverlays(); int j =
private void showFriends(){
mapOverlays = mapView.getOverlays();
int j = othersMapOverlay.size();
for(int i = friendsMapOverlay.size; i < j; i++){
mapOverlays.remove(i);
}
mapView.invalidate();
}
或
但这两种方法都不管用。知道如何解决这个问题吗?最后使用了以下方法。它并不是真的隐藏或删除覆盖只是清除和重画。这必须比我想做的效率低-也就是说,只需删除存在的内容,但它可以工作。现在
private void showEveryone(){
mapOverlays = mapView.getOverlays();
mapOverlays.clear();
mapView.invalidate();
JSONArray friends = buildFriendList();
JSONArray others = buildOthersList();
getUserDataForMap(friends, "friends");
getUserDataForMap(others, "others");
}
mapView.getOverlays().remove(othersMapOverlay);
private void showEveryone(){
mapOverlays = mapView.getOverlays();
mapOverlays.clear();
mapView.invalidate();
JSONArray friends = buildFriendList();
JSONArray others = buildOthersList();
getUserDataForMap(friends, "friends");
getUserDataForMap(others, "others");
}