MapKit平移并向服务器请求数据

时间:2014-02-22 16:29:46

标签: ios annotations mapkit region

我对MapKit有一些疑问。 我必须实现一种有效的方法来在我的地图上可视化一些mapAnnotations。

为了可视化这个注释,我需要调用我的API服务器,其中我特定lat,long和distance。

我知道我需要调用我的服务器当用户在地图上进行平移时:我需要将此代码实现到此MapKit委托方法中。

- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated

我需要尽可能高效地实现它。例如,我想过这个解决方案,但我不知道这是更好的方法还是有一些标准的方法..

我可以计算我上一次请求所涵盖的区域。当用户执行平移时,我将验证新区域是否仍被最后一个请求覆盖。

可以吗?你知道实现这个的东西吗?

1 个答案:

答案 0 :(得分:0)

一旦我不得不在我的项目中处理它。

所以,我做的是,我做了一个服务器request with larger map Area(比currently visible on map多10倍。)所以这样我就不需要向服务器提出太多请求每个泛和新区域。

我必须创建一个MKMapRect array来存储我提出请求的每个区域。在进行服务器调用之前,我必须检查当前visible mapRect是否包含在任何这些rects中。(实际上在数组上方的行为类似于队列

我建议您使用以下方法。

- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView

因为除非地图已下载,否则没有显示注释的意义。