在iPhone的MapKit中显示POI的最佳做法?

问题描述 投票:0回答:1

假设我有一个POI数据库,其中包含各自的坐标(经度和纬度)。 将POI显示为用户当前位置周围的注释的“标准”方式是什么? 详细说明:

  • 给定缩放级别,我想我必须在数据库中搜索所有POI,这些POI到当前位置的距离<某个阈值,然后为其创建注释。 还是有更聪明的方法?
  • 如果用户放大/缩小,则移动地图...我需要再次重做整个事情吗?
  • 似乎MapKit具有缓存/重用注释的机制。 我是否应该立即创建很多它们,并让MapKit决定在可见区域更改时呈现什么内容? 我想这会使过渡更平滑,但也会消耗更多内存。 您对此有何经验?

谢谢。

iphone search annotations mapkit
1个回答
1
投票

实际上,依靠当前位置和POI之间的距离是不正确的方法:评估距离需要花费时间,您最好仅依靠地图上显示的区域(属性region )并检查其中包含哪些POI这个地区。

放大/缩小时,区域会改变,因此您可能必须重做相同。

在这里查看我的答案: MKMapView一次加载所有注释视图(包括当前rect之外的视图)

这个人正在尝试使用注释的缓存,我的回答可能会帮助您。

要检查您的POI是否为显示区域,我发布了一段代码可能对您有帮助: iPhone开发-在可见的地图区域中显示Pin注释

© www.soinside.com 2019 - 2024. All rights reserved.