2015-10-30 2 views
0

Я пытаюсь сгладить ошибку в своем приложении карты. Я добавил рабочий код, который (1) определяет количество аннотаций, отображаемых на карте, и (2) строит NSSet этих аннотаций. Когда я возвращаю массив из NSSet и NSLog, содержимое массива, я не понимаю результат. Может ли кто-нибудь помочь мне понять смысл вывода массива и как эта информация относится к координатам широты/долготы, которые первоначально были построены при создании карты? Я использую Xcode 7.1Значение массива Содержание карты Аннотации

Пример кода:

-(void)getAnotationsInVisibleMapRectangle{ 

    MKMapRect visibleMapRect = mapView.visibleMapRect; 
    NSSet *visibleAnnotations = [mapView annotationsInMapRect:visibleMapRect]; 

    // print number of annotations 
    NSLog(@"Number of annotations in rect: %lu", (unsigned long)visibleAnnotations.count); 

    // this will return an array from the NSSet 
    NSArray *annotationArray = [visibleAnnotations allObjects]; 
    NSLog(@"%@", annotationArray); 
} 

Пример вывода, когда массив вошли:

2015-10-30 14:22:45.635 [17633:6301958] Number of annotations in rect: 0 
2015-10-30 14:22:45.635 [17633:6301958] (
) 
2015-10-30 14:22:58.707 [17633:6301958] Number of annotations in rect: 6 
2015-10-30 14:22:58.708 [17633:6301958] (
    "< DisplayMap: 0x7f84e7947740 >", 
    "< DisplayMap: 0x7f84e722a310 >", 
    "< DisplayMap: 0x7f84e791a9f0 >", 
    "< DisplayMap: 0x7f84e6f47820 >", 
    "< DisplayMap: 0x7f84e7910950 >", 
    "< DisplayMap: 0x7f84e7460730 >", 

ответ

0

аннотаций отображается на карте является объектом некоторого определенного класса, в вашем случае его типа DisplayMap. Поскольку имеется 6 аннотаций, он отображает ячейки памяти всех 6 объектов аннотации вместе со своим типом класса (например, DisplayMap). Выходные данные не показывают никакой информации о широте и долготе, на которых должна отображаться аннотация. Однако вы можете получить координаты аннотации, обратившись к свойству «координат» объекта аннотации.

+0

Поймите. Спасибо за Ваш ответ. – Cheesehead1957