将 MKTileOverlayPath 转换为 MKMapRect?

Posted

技术标签:

【中文标题】将 MKTileOverlayPath 转换为 MKMapRect?【英文标题】:Convert MKTileOverlayPath to MKMapRect? 【发布时间】:2014-06-13 15:37:44 【问题描述】:

我用的是方法:

- (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;
    
];

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

【问题讨论】:

知道如何反其道而行之吗? MapRect 到 OverlayPath? 还有...您找到解决问题的方法了吗? 【参考方案1】:

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

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

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

【讨论】:

以上是关于将 MKTileOverlayPath 转换为 MKMapRect?的主要内容,如果未能解决你的问题,请参考以下文章

将n进制数转换为m进制,但程序不正确。。

如何将m文件转换为c文件

如何将“'n' min 'm' secs”转换为秒格式

朴素贝叶斯高斯抛出 ValueError:无法将字符串转换为浮点数:'M'

R:将以下代码转换为 DPLYR

进制转换,请将一个n进制的数转换成m进制的数,并输出.