我使用的方法是:
- (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;
}
}];
或许还有另一种从这个区域拍摄地图图像的方法。
答案 0 :(得分:0)
x/y/z
和坐标之间的转换在这里完成:
https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
使用它来确定(间接)和MKMapRect
捕获,设置地图视图,然后使用MKMapSnapshotter
抓取要处理的图像。