如何在Mapbox中添加一个大图像?

我想添加一个瓷砖来源,基本上是1个PNG大小为800×800。 我创build了一个RMAbstractWebMapSource的子类,实现下面的方法,但它不工作,我得到一个日志错误“瓷砖来源…有不同的瓦片长度比tilesource容器”。

@implementation CustomTileSource - (NSURL *)URLForTile:(RMTile)tile { return [[NSURL alloc] initWithString:@"THE_URL_OF_MY_PNG"]; } - (NSString *)uniqueTilecacheKey { return @"NLSMap"; } - (NSString *)shortName { return @"Map"; } - (NSString *)longDescription { return @"Test"; } - (NSString *)shortAttribution { return @"Google maps"; } - (NSString *)longAttribution { return @"Google maps"; } - (float)minZoom { return 7.0; } - (float)maxZoom { return 11.0; } - (float)centerZoom { return 8.0; } - (BOOL)coversFullWorld { return NO; } - (CLLocationCoordinate2D)centerCoordinate { return CLLocationCoordinate2DMake(33.3, -118.7); } - (RMSphericalTrapezium)latitudeLongitudeBoundingBox { RMSphericalTrapezium bounds = { .southWest = { .longitude = -122.2, .latitude = 30.29, }, .northEast = { .longitude = -115.2, .latitude = 36.209999999999994, }, }; return bounds; } - (NSUInteger)tileSideLength { return 800.f; } - (BOOL)opaque { return NO; } @end 

你知道我该怎么做吗?

谢谢

你在做什么需要根据标准的XYZ或TMS / Web墨卡托瓷砖scheme提供地图瓷砖。 你不能只提供一个光栅图像,并把它放在正确的地方。 你有几个select:

  1. 使用类似于TileMill的东西来将栅格图像渲染成地图图块。 这里有一个教程: https : //www.mapbox.com/tilemill/docs/guides/reprojecting-geotiff/

  2. 查看此资源的本机iOSfunction: https : //github.com/mapbox/mapbox-ios-sdk/issues/361