0

我正在我的应用程序中使用 MapBox 实现离线地图,该应用程序当前将 mapkit 与 Apple Maps 一起使用。

我有一个描述兴趣点的对象 - 名称、描述位置等,其界面如下所示:

#import <Foundation/Foundation.h>
#import <Mapkit/MapKit.h>
#import <MapBox/MapBox.h>

@class CLLocation;

@interface MHGPlace : NSObject <MKAnnotation>

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

-(NSString *) title;
-(NSString *) subtitle;
-(NSString *) mapid;

@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *description;


@end

上面的对象被添加到一个数组中,然后被添加到 mapkit 中,如下所示:

[self.mapView addAnnotations:self.places];

但是,在处理 MapBox 地图视图时,我无法像上面那样添加 MKAnnotation 对象,因为它需要 RMAnnotation 对象。但是,当我将界面更改为 read- <RMAnnotation>而不是时<MKAnnotation>,它似乎不存在。

我在文档中找不到任何关于如何添加这样的注释的内容。像这样尝试这样做会很好,这样我就可以处理回调并知道哪个注释被点击了等等!

4

2 回答 2

1

我是 MapBox SDK 的维护者。RMAnnotation不是协议,而是一个类。您当然可以根据需要RMAnnotation添加您的mapid和其他属性的子类。但是您可能不需要它,因为您也可以使用-[RMAnnotation userInfo]它并为其分配一个NSDictionary包含您需要传递的内容。

您可以在官方文档中找到更多信息:http: //www.mapbox.com/mapbox-ios-sdk/api/#RMAnnotation-class

于 2013-08-12T16:32:29.547 回答
0

查看官方论坛,当前版本似乎无法进行子类化,因此我无法创建自己的 RMAnnotation 对象

于 2013-08-12T09:47:09.817 回答