我对MapKit有一些疑问。 我必须实现一种有效的方法来在我的地图上可视化一些mapAnnotations。
为了可视化这个注释,我需要调用我的API服务器,其中我特定lat,long和distance。
我知道我需要调用我的服务器当用户在地图上进行平移时:我需要将此代码实现到此MapKit委托方法中。
- (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated
我需要尽可能高效地实现它。例如,我想过这个解决方案,但我不知道这是更好的方法还是有一些标准的方法..
我可以计算我上一次请求所涵盖的区域。当用户执行平移时,我将验证新区域是否仍被最后一个请求覆盖。
可以吗?你知道实现这个的东西吗?
答案 0 :(得分:0)
一旦我不得不在我的项目中处理它。
所以,我做的是,我做了一个服务器request with larger map Area
(比currently visible on map
多10倍。)所以这样我就不需要向服务器提出太多请求每个泛和新区域。
我必须创建一个MKMapRect array
来存储我提出请求的每个区域。在进行服务器调用之前,我必须检查当前visible mapRect
是否包含在任何这些rects中。(实际上在数组上方的行为类似于队列)
我建议您使用以下方法。
- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView
因为除非地图已下载,否则没有显示注释的意义。