gpt4 book ai didi

android - 如何制作可变的 ItemizedOverlay

转载 作者:搜寻专家 更新时间:2023-11-01 09:18:51 26 4
gpt4 key购买 nike

我想制作一个带有可更换图钉的 Google map 叠加层。一种简单的可视化方法是考虑近乎实时的覆盖,其中引脚不断改变位置。

但是,我似乎想不出一个安全的方法来使用 ItemizedOverlay .问题似乎是对填充的调用 - 如果某些 map 线程调用了 size(),然后我的数据发生了变化,那么本地图调用访问 getItem() 时的结果可能是 IndexOutOfBoundsException。

有谁能想到比在同步块(synchronized block)中重载 populate 和包装 super.populate 更好的解决方案?

也许我可以使用普通的叠加层获得更好的运气? Itemized 的存在似乎是为了为您管理数据,也许我在使用它时犯了一个根本性的错误?

谢谢你的帮助,我的脑袋疼!

哈密

最佳答案

如前所述 this article

在列表中添加或删除项目后,您需要调用以下方法。

setLastFocusedIndex(-1);

填充();

例子:

@Override
protected OverlayItem createItem(int i) {
return overlays.get(i);
}
protected void removeOverlay(OverlayItem o){
overlays.remove(o);
setLastFocusedIndex(-1);
populate();
}
@Override
public int size() {
return overlays.size();
}
public void addOverlay(OverlayItem o){
overlays.add(o);
setLastFocusedIndex(-1);
populate();
}

关于android - 如何制作可变的 ItemizedOverlay,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076176/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com