将引脚添加到MapView

时间:2012-01-21 16:07:49

标签: iphone google-maps mkmapview android-mapview

我想知道如何在iPhone应用程序中为MapView添加引脚。我想把针固定在有#34; Tea"在他们的名字中,将每个引脚放在包含该单词的每个位置是不切实际的,所以我想知道是否有某种方法可以使它在加载MapView时将引脚固定到那些位置。我认为这可以通过Google的Map API来完成,但我不确定我是如何做到这一点的 - 有没有人知道任何可以实现此目的的教程。

到目前为止,我有一个包含MapView以及相应视图控制器的简单视图。

提前致谢!

1 个答案:

答案 0 :(得分: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];
}

希望这有帮助。