- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想制作一个带有可更换图钉的 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/
如您所知,覆盖项目只有标题、消息和可绘制图像。 我想创建一个自定义项目,例如还具有以下字段:ID、街道、城市、国家/地区。 调用 OnTap 后,我想在 ListView 中显示该信息,因此在您点击该
我遵循了 Google Dev 上的教程创建一个 ItemSizedOverlay。我的想法是从名为 list 的 ArrayList 中获取多个位置。所以我使用 for() 来读出 ArrayLis
我正在尝试创建一个 Android MapView . 在本文的第 2 部分中,当实现 ItemizedOverlay 时,Eclipse 无法从构建路径中获取它。 我不确定缺少 SDK 的哪一部分。
我想制作一个带有可更换图钉的 Google map 叠加层。一种简单的可视化方法是考虑近乎实时的覆盖,其中引脚不断改变位置。 但是,我似乎想不出一个安全的方法来使用 ItemizedOverlay .
我已经尝试了几个小时来弄清楚为什么在将逐项 map 覆盖添加到 map 的覆盖之前,我不能不这样做就不能使用它: GeoPoint 点; OverlayItem overlayitem = new O
使用 GeoPoints 的 ArrayList,我希望在 map 上绘制点并用线连接它们。我的“点”部分可以工作,但线条不行。我的 ItemizedOverlay 类: private class
我有一个类: public class WaypointOverlay extends ItemizedOverlay 它覆盖了 ItemizedOverlay 的 draw() 方法。 在我的 Ac
我想知道从网络加载 ItemizedOverlay 标记的正确方法是什么,以某种方式使用缓存。 现在我正在下载所有图像并将它们转换为可绘制对象,效果很好,但我想看看是否有更好的方法。 public c
我必须在特定点的 map 上放置一些叠加层,我从 API 获取点坐标。我在异步任务中进行抓取。我成功地放置了叠加层,当我放大 map 或跨越它时,响应非常慢。这是我的 overlayitem 类和我的
我正在探索 RoboGuice 的世界,并且更改了一个 map Activity ,现在可以使用它了。它是一个 RoboMapActivity,我已经将应用程序的扩展名更改为从 RoboActivit
我有一个 MapView,上面有很多叠加标记。它有点工作,但在添加标记时往往会出现 ANR,因为它们很多。所以我将代码移到了 AsyncTask 中。一旦移动,代码就会中断,渲染完成后会从框架中冒出以
这根本没有引用我代码中的任何地方。我该如何深入了解它? java.lang.NullPointerException at com.google.android.maps.OverlayBundle.
我正在使用 ItemizedIconOverlay 类,我目前在 map 上显示事件以及具有相同默认图标的用户位置。 如何更改每个叠加层的图标集? 是否有类似于 google.maps 示例的内容:
我有以下扩展的 ItemizedOverlay 类。该类在 Google map (MapView)上绘制许多图标。我需要创建一个监听器来单击 ItemizedOverlay 的任何项目,但我不知道如
我有一个扩展 ItemizedOverlay 的类。 其中,我有: @Override protected boolean onTap(int index) { OverlayItem item
我正在为 android 制作一个 map 应用程序,它允许用户放置自己的兴趣点。我想为放置的每种类型的点设置自定义图钉图标。当我尝试在运行时获取我的自定义 ItemizedOverlay 时,我收到
我的应用程序中有 2 个 ItemizedOverlay 实例,一个用于 CurrentLocation,另一个用于其他。我已将这 2 个叠加层添加到 MapView。 我想在 map 的刷新按钮倾斜
我在 MapView 上添加了一些 ItemizedOverlay。我能够展示最初初始化的静态标记。现在说在 5 个标记之后,我需要精确地更新第一个或第二个标记,我该怎么做?我想刷新或更新之前已经可见
我创建了一个具有 2 个不同叠加层的 MapView。一个叠加层显示 map 上的 POI,第二个叠加层在您单击/选中其中一个 POI 时显示一个“气泡”。 现在我想在第二个叠加层可见且没有点击 PO
我正在尝试以编程方式绘制一个 parking 图标,以作为 map 上逐项叠加层的可绘制对象放置。 该图标由一个蓝色正方形组成,其中心有一个白色“P”,我想以编程方式更改正方形的颜色以表示不同的 pa
我是一名优秀的程序员,十分优秀!