我已经在一个数组中本地存储了大约1200个表示数据。现在,我只想向当前正在查看的区域添加/设置注释。当用户更新区域时,这将添加/设置新注释。我知道我们可以在regionChanged方法中实现它。我希望这个能快速加载。请建议我,我们如何实现这将是有效的。另外,请建议我,这将是足够快的加载注释在一次
mapview.setAnnotations(annotationarray);或显示为区域智慧。应用程序的默认缩放级别是,因为一次只有2-4个注释。很抱歉一次问了多个问题。
发布于 2013-02-28 00:27:12
使用当前区域以及latitudeDelta和longitudeDelta,您可以推断出当前地图边界框是什么(即当前地图视图的4个角的坐标)。
您应该检查每个引脚的坐标是否在边界框内,如果在边界框内,则将其保存在单独的数组中。完成检查后,将该注释数组添加到mapview中。
每次区域更改时,您都应该重复此操作。
我不知道这个解决方案的效率有多高,但迭代1200个项目的数组不会很便宜。
如果这个解决方案非常慢,您还可以将坐标保存在sqlite数据库中,然后每次执行一个查询。
https://stackoverflow.com/questions/15017720
复制相似问题