Преобразовать MKTileOverlayPath в MKMapRect?
Я использую метод:
- (void)loadTileAtPath:(MKTileOverlayPath)path
result:(void (^)(NSData *data, NSError *error))result
MKTileOverlayPath дает мне x, y и z. Я пытаюсь пойти по этому пути и сделать снимок того, что представляет собой версия этой области для Apple Maps, чтобы я мог применить фильтр к изображению.
Я использую MKMapSnapshotter как таковой, но не знаю, какие значения дать ему, чтобы нарисовать отображение этой области на картах Apple.
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;
}
}];
Или, возможно, есть другой известный способ взять изображение карты из этой области.
1 ответ
Преобразование между x/y/z
и координаты делается здесь:
https://wiki.openstreetmap.org/wiki/Slippy_map_tilenames
Используйте это, чтобы определить (косвенно) и MKMapRect
чтобы сделать снимок, настройте вид карты, а затем используйте MKMapSnapshotter
захватить изображение для обработки.