在地图上添加图标之后我想移除,但是 即使移除再点击原来的坐标还会执行
public class MyItemOverlay extends ItemizedOverlay<OverlayItem> {
private ArrayList<OverlayItem> overlays = new ArrayList<OverlayItem>();
private Context context;
public ArtItemOverlay(Drawable defaultMarker) {
super(boundCenterBottom(defaultMarker));
}
public ArtItemOverlay(Drawable defaultMarker, Context context) {
this(defaultMarker);
this.context = context;
}
@Override
protected OverlayItem createItem(int i) {
return overlays.get(i);
}
@Override
public int size() {
return overlays.size();
}
@Override
protected boolean onTap(int index) {
OverlayItem item = overlays.get(index);
AlertDialog.Builder dialog = new AlertDialog.Builder(context);
dialog.setTitle(item.getTitle());
dialog.setMessage(item.getSnippet());
dialog.show();
return true;
}
public void addOverlay(OverlayItem overlay) {
overlays.add(overlay);
}
public void removeOverlay(OverlayItem overay){
overlays.remove(overay);
}
public void doPopulate(){
populate();
}
}
然后执行
"setLastFocusedIndex(-1);" 在"doPopulate()".
本文介绍了一个自定义的地图图标管理类MyItemOverlay,该类允许在地图上添加和移除图标,并在移除图标后解决了仍会触发原位置点击事件的问题。通过设置 lastIndex 为 -1 的方法来避免移除图标后的误触发。
34

被折叠的 条评论
为什么被折叠?



