1

我对 iOS 上的 mapbox API 完全陌生,我按照那里的说明制作带有标记的自定义地图 - 我的地图在线链接 - 我添加了二进制框架,它在没有任何标记的情况下加载了地图

#import <MapBox/MapBox.h>

-(void)viewWillAppear:(BOOL)animated{
RMMapView *map =[[RMMapBoxSource alloc]initWithMapID:@"scorpioo.map-a6l64b06"];
RMMapView *mapV = [[RMMapView alloc] initWithFrame:view.bounds andTilesource:map];
}

所以任何人都可以告诉我为什么它没有显示?或者知道如何在我的 ios 上显示我放在在线地图上的标记?

4

2 回答 2

1

使用以下方法可以做到这一点RMMapBoxSource

http://www.mapbox.com/mapbox-ios-sdk/api/#//api/name/initWithMapID:enablingDataOnMapView

创建你的RMMapView第一个,然后创建你的RMMapBoxSource,将地图视图作为第二个参数传递。这将拉下服务器端标记并自动显示它们。

这是一个示例项目,它显示了这一点:

https://github.com/mapbox/weekend-picks-template-ios

这里的技术称为simplestyle

于 2013-05-28T21:37:51.617 回答
0

您需要在上面的代码中添加以下行。这样您就可以获得所需的标记:

RMPointAnnotation *annotation = [[RMPointAnnotation alloc] initWithMapView:map coordinate:MENTION_COORDINATES_HERE andTitle:@"Hello, world!"]; [mapView addAnnotation:annotation];

完整示例:

RMMapBoxSource *tileSource = [[RMMapBoxSource alloc] initWithMapID:@"examples.map-z2effxa8"];

    RMMapView *mapView = [[RMMapView alloc] initWithFrame:self.view.bounds andTilesource:tileSource];

    [self.view addSubview:mapView];

    RMPointAnnotation *annotation = [[RMPointAnnotation alloc] initWithMapView:mapView 
                                                                    coordinate:mapView.centerCoordinate 
                                                                      andTitle:@"Hello, world!"];

    [mapView addAnnotation:annotation];

希望有帮助。

于 2013-05-28T11:47:19.147 回答