针对当前用户位置,将MKMapview缩放为最接近的两个MKAnnotations

时间:2012-09-13 18:17:59

标签: objective-c xcode mkmapview mkannotation mapkit

将MKMapview缩放到最近的两个或三个MKAnnotations以获取当前用户位置的最佳方法是什么?

我有一个从plist加载的GPS坐标列表(准确地说是328),每个点都是地图上的注释。我想将视图限制在用户当前位置周围的两个最近的注释点。

1 个答案:

答案 0 :(得分:1)

粗略地说,步骤将是:

  1. 查找当前位置,转换为MKMapPoint
  2. 使用MKMetersBetweenMapPoints找出与当前位置的距离
  3. ,重复您的注释列表
  4. 节省2或3个最小距离
  5. 使用这三个距离中最大的一个来使用MKCoordinateRegionMakeWithDistance
  6. 创建一个区域
  7. 将地图置于当前位置中心
  8. 使用[mapView setRegion:region animated:TRUE]
  9. 缩放到该区域