2012-01-21 3 views
0

Мне было интересно, как бы добавить булавки в MapView в приложении для iPhone. Я хочу, чтобы штыри были закреплены в местах, где есть слово «Чай», и было бы нецелесообразно размещать каждый булавку в каждом месте, содержащем это слово, поэтому мне было интересно, есть ли способ сделать это так, MapView загружен, контакты закреплены в этих местах. Я предполагаю, что это будет сделано с помощью API карт Google, но я не уверен, как именно я это сделаю - кто-нибудь знает о каких-либо учебниках, которые продемонстрировали бы для реализации этого.Добавление контактов в MapView

До сих пор у меня есть простой вид, который содержит MapView, а также соответствующий контроллер представления.

Заранее благодарен!

ответ

1

Вам нужно добавить экземпляры MKAnnotation в ваш MKMapView.

[mapView addAnnotation:annotation]; 

annotation является экземпляром класса, соответствующей протоколу MKAnnotation. Прочитайте соответствующую документацию здесь:

http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKMapView_Class/MKMapView/MKMapView.html

http://developer.apple.com/library/ios/#documentation/MapKit/Reference/MKAnnotation_Protocol/Reference/Reference.html#//apple_ref/occ/intf/MKAnnotation

Пример код:

@interface MyAnnotation: NSObject <MKAnnotation> 
{ 
    CLLocationCoordinate2D coordinate; 
    NSString *title; 
} 

@end 

@implementation MyAnnotation 

@synthesize coordinate, title; 

- (id) init 
{ 
    if ((self = [super init])) 
    { 
     coordinate.latitude = 0.0; 
     coordinate.longitude = 0.0; 
     title = NSLocalizedString(@"Tea"); 
    } 
    return self; 
} 

@end 

В контроллере представления:

- (void) viewDidLoad 
{ 
    [super viewDidLoad]; 
    // custom initialiation; create map view 
    [self addPin]; // or with parameters, called multiple times, to add several annotations 
} 

- (void) addPin 
{ 
    MyAnnotation *ann = [[MyAnnotation alloc] init]; 
    [mapView addAnnotation:ann]; 
    [ann release]; 
} 

Надеется, что это помогает.

Смежные вопросы