0

我在一个数组中本地存储了大约 1200 个注释数据。现在我只想向当前正在查看的区域添加/设置注释。当用户更新区域时,这将添加/设置新的注释。我知道我们可以在 regionChanged 方法中实现它。我希望它能够快速加载。请建议我如何实现这一点,这将是有效的。另外请建议我哪一个足够快一次加载注释

mapview.setAnnotations(annotationarray);

或显示为区域明智。应用程序的默认缩放级别是因为它一次只有 2-4 个注释。很抱歉一次有多个问题。

4

1 回答 1

0

使用您当前的区域以及 latitudeDelta 和 longitudeDelta,您可以推断出您当前的地图边界框是什么(这是您当前地图视图的 4 个角的坐标)。

您应该检查每个引脚的坐标是否在边界框内,然后将其保存在单独的数组中。完成检查后,将该注释数组添加到地图视图中。

每次区域更改时,您都应该重复此操作。

我不知道这个解决方案的效率如何,但遍历一个包含 1200 个项目的数组并不便宜。

如果这个解决方案很慢,您也可以将坐标保存在 sqlite 数据库中并每次执行查询。

于 2013-02-27T16:27:11.797 回答