2

我正在使用以下方法:

- (void)loadTileAtPath:(MKTileOverlayPath)path result:(void (^)(NSData *data, NSError *error))result

MKTileOverlayPath 给了我一个 x、y 和 z。我正在尝试沿此路径拍摄该区域的 Apple Maps 版本的快照,以便我可以对图像应用过滤器。

我正在使用 MKMapSnapshotter,但不知道给它什么值来绘制该区域的苹果地图表示。

MKMapSnapshotOptions *options = [[MKMapSnapshotOptions alloc] init];
options.scale = [[UIScreen mainScreen] scale];
options.showsBuildings = NO;
options.showsPointsOfInterest = NO;
options.mapType = MKMapTypeStandard;

MKMapSnapshotter *snapshotter = [[MKMapSnapshotter alloc] initWithOptions:options];
[snapshotter startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
    if (error || !snapshot) {
        NSLog(@"snapshotter error: %@", error);
        return;
    }
}];

或者也许还有另一种从该区域获取地图图像的已知方法。

4

1 回答 1

0

和坐标之间的转换在x/y/z这里完成:

https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames

使用它来确定(间接)并MKMapRect捕获,设置您的地图视图,然后用于MKMapSnapshotter抓取要处理的图像。

于 2014-06-17T17:53:41.547 回答