将mapkit注释对象转换为mapbox注释对象

时间:2013-08-09 15:14:05

标签: ios objective-c mapkit mkannotation mapbox

我正在我的应用程序中使用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 mapview时,我不能像上面那样添加MKAnnotation对象,因为它需要一个RMAnnotation对象。但当我改变我的界面阅读 - <RMAnnotation>代替<MKAnnotation>,它似乎不存在。

我无法在文档中找到有关如何添加这样的注释的文档。尝试这样做会很好,所以我可以处理回调并知道哪些注释已被挖掘等等!

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

相关问题