2

我正在尝试使用新的 iOS 7 测试版中提供的 MKTileOverlay 和 MKTileOverlayRenderer 在 Apple 地图视图上添加 Mapbox 切片图层或 Mapbox 服务器地图。我将自己的信息放在我在网上找到的一些示例代码中,以在地图视图上加载服务器地图,但它产生了一个错误,我需要一些帮助来解释。我收到错误消息,使用未声明的标识符“覆盖”。

//.h

@property (strong, nonatomic) IBOutlet MKMapView *mapView;


//.m

NSString *template = @"jbailo.Lighting/tile?z={z}&x={x}&y={y}";
overlay = [[MKTileOverlay alloc ] initWithURLTemplate:template];
overlay.canReplaceMapContent = YES;
[_mapView addOverlay:overlay level:MKOverlayLevelAboveRoads];


-(MKTileOverlayRenderer *)mapView:(MKMapView*)mapView rendererForOverlay:(id<MKOverlay>)overlay {

return [[MKTileOverlayRenderer alloc] initWithOverlay:overlay];

}

请告诉我我应该将叠加声明为什么,如果有人有使用这些 tileOverlays 方法的经验,请随时提供意见和建议。

4

2 回答 2

2

你没有声明覆盖,愚蠢的错误

替换这一行

覆盖 = [[MKTileOverlay 分配] initWithURLTemplate:template];

MKTileOverlay 覆盖 = [[MKTileOverlay alloc] initWithURLTemplate:template];

还检查 url,您可以使用此示例图块: http ://c.tile.openstreetmap.org/4/2/6.png

也永远不要使用级别:MKOverlayLevelAboveRoads 用于 MKTileOverlay 而不是使用 MKOverlayLevelAboveLabels

于 2013-09-27T08:56:51.403 回答
2

看一下:

https://github.com/mapbox/mbxmapkit

它已经解决了在 iOS7 中将 Apple 的 MapKit 与 MapBox 自定义地图图块集成的问题。

于 2013-09-25T13:48:38.873 回答