В настоящее время я работаю с MKMapView и пытаюсь вывести данные на экран. Для этого я решил исправить небольшой MapDataProvider, который выплевывает массив объектов MKAnnotation, каждый из которых содержит координаты со случайными значениями широты и долготы.
Я уже убедился, что мой MKMapView подключен к моему контроллеру, а массив объектов MKAnnotation правильно поступает из моего MapDataProvider ... но по какой-то причине ... когда я пытаюсь указать координаты в Северной Америке (например, . 48, -84) .. в MKMapView ничего не отображается.
После игры я обнаружил, что любое значение долготы меньше 0 вызывает эту проблему.
Я пытался проверить значение координат для каждого объекта MKAnnotation в моей коллекции, но CLLocation2DIsValue () продолжает возвращать false.
Вопрос
Какой диапазон значений я могу ввести для широты и долготы для CLLocationCoordinate2D, чтобы мои выводы отображались в Северной Америке?
Чтобы дать немного больше контекста, вот метод, который вызывается в MapDataProvider:
+ (NSArray *) getMockMapData {
NSMutableArray *tempMapData = [[NSMutableArray alloc] initWithCapacity:15];
for (int i=0; i< 15; i++) {
double latitude = rand()%20 +50;
double longitude = -107 + rand()%10;
CLLocationCoordinate2D coord = CLLocationCoordinate2DMake(latitude, longitude);
if(CLLocationCoordinate2DIsValid(coord) == NO)
continue;
[tempMapData addObject:[MockMapData
dataForValues:[@"Item " stringByAppendingString:[[NSNumber numberWithInt:i] description]]
subTitle:[@"Item " stringByAppendingString:[[NSNumber numberWithInt:i]description]]
coordinate:coord]];
}
return tempMapData;
}