当MKMAPVIEW更改范围(放大或缩小,平移)时会触发什么事件?
我需要获取用于显示地图的坐标。
答案 0 :(得分:6)
您应该采用MKMapViewDelegate
协议并实施mapView:regionDidChangeAnimated:
方法,该方法将在区域更改时调用。但是,由于在滚动时会多次调用它,因此在实现该方法之前应该考虑到这一点。
获取地图的左上角坐标
CLLocationCoordinate2D topLeftCoordinate = [self.mapView convertPoint:CGPointMake(0,0)
toCoordinateFromView:self.mapView];
或的
既然您已经了解该地区,
MKCoordinateRegion region = self.mapView.region;
MKCoordinateSpan span = region.span;
CLLocationCoordinate2D center = region.center;
CLLocationCoordinate2D topLeftCoordinate = CLLocationCoordinate2DMake(center.latitude - span.latitudeDelta / 2, center.longitude - span.longitudeDelta / 2);
/* Similarly, get the others */