仅使用Titanium SDK在查看区域上显示地图上的注释

时间:2013-02-22 05:49:15

标签: android iphone map annotations titanium

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

一次加载注释
mapview.setAnnotations(annotationarray);

或以区域方式显示。应用程序的默认缩放级别是,因为一次只有2-4个注释。抱歉一次性多个问题。

1 个答案:

答案 0 :(得分:0)

使用当前区域和latitudeDelta和longitudeDelta,您可以推断出当前地图边界框的内容(即当前地图视图的4个角的坐标)。

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

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

我不知道这个解决方案的效率如何,但迭代1200个项目的数组并不便宜。

如果此解决方案非常慢,您还可以将坐标保存在sqlite数据库中,并且每次都执行查询。