У меня есть этот код, где я делаю это
как только карта загружается с текущим местоположением пользователей - я даю пролет к карте
span.latitudeDelta = 0,2;
span.longitudeDelta = 0,2;
Далее я отправляю вызов API с верхним левым лат, lng и нижним правым лат, lng
CLLocationCoordinate2D topLeft, bottomRight;
topLeft = [mapView convertPoint: CGPointMake (0, 0) toCoordinateFromView: mapView];
CGPoint pointBottomRight = CGPointMake (mapView.frame.size.width, mapView.frame.size.height);
bottomRight = [mapView convertPoint: pointBottomRight toCoordinateFromView: mapView];
Я вызываю этот метод каждый раз, когда происходит изменение региона
- (void) mapView: (MKMapView *) mapView regionDidChangeAnimated: (BOOL) animated {
Проблема -
Мне нужно получить новые выводы от API - только когда есть новый регион, а не когда пользователь просто увеличивает масштаб, что означает, что я хочу получить несколько выводов для одного и того же местоположения.
Если у меня огромный регион, скажем X. и внутри него есть A, B, C, D.
Предположим, я начинаю с X - скажем, всей карты глобуса - я получаю булавки - теперь, если пользователь увеличивает масштаб или делает то, что я никогда не хочу называть API, потому что у меня есть все булавки.
Теперь, если я начну с А - просто наберу карту Нью-Йорка и увеличу масштаб (нет необходимости вызывать API), но если я перееду в регион B - скажем, Вашингтон, округ Колумбия - мне нужно вызвать API.
Надеюсь, вы понимаете, о чем я прошу - любые предложения.
Буду признателен за любую помощь.