MapKit проблемы с аннотациями - PullRequest
0 голосов
/ 08 сентября 2010

Хорошо, у меня есть некоторые проблемы с моими аннотациями MapKit.

Прежде всего, я хочу выноску для каждой аннотации.Я не могу узнать, как это сделать вообще!:( У меня есть две строки NSS (название места и краткое описание). Затем я должен иметь возможность регистрировать щелчок по выноске - чтобы я мог запустить представление раскрытия.

Во-вторых, я хочу изменитьпредставление для пользовательской аннотации местоположения.

В настоящий момент все аннотации устанавливаются в представление «аннотации по умолчанию» с помощью этого кода:

- (MKAnnotationView *) mapView:(MKMapView *)myMapView viewForAnnotation:(id <MKAnnotation>) annotation{
    MKPinAnnotationView *annView=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"currentloc"];
    annView.animatesDrop=TRUE;
    return annView;
}

Я бы предпочелдля пользовательской аннотации местоположения задано значение синего пульсирующего круга по умолчанию, но, по крайней мере, я хочу иметь возможность изменить свойство pinColor на другой цвет, чтобы пользователь мог различать свое собственное местоположение и результаты своего поиска.

Надеюсь, кто-нибудь сможет мне помочь.

Спасибо.

Ответы [ 2 ]

1 голос
/ 08 сентября 2010

Я думаю, вам следует подумать об использовании showUserLocation для отображения местоположения ваших пользователей - это стандартный пользовательский интерфейс для платформы, который помогает людям получить единообразный опыт работы с приложениями.Конечно, вы можете придумать какую-нибудь пользовательскую аннотацию для местоположения пользователя, но зачем заново изобретать то, что люди привыкли видеть в приложении карт и во многих сторонних приложениях?

Вам следует уделить время просмотру примеров кода Appleдля MapKit все, что вам нужно сделать, есть.Этот, в частности, является хорошей отправной точкой для вас:

http://developer.apple.com/iphone/prerelease/library/samplecode/MapCallouts/Introduction/Intro.html

0 голосов
/ 21 сентября 2010

хмм ... проблема была в том, что я не знал, какая аннотация использовалась текущей локацией. Это нормально - я нашел это сейчас. Что-то вроде if (annotation == mapView.userlocation) {return nil; } или похожие. :) Спасибо за вашу помощь, хотя

...