iOS 6中的MKRoadWidthAtZoomScale?

前端之家收集整理的这篇文章主要介绍了iOS 6中的MKRoadWidthAtZoomScale?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
来自MKRoadWidthAtZoomScale的文档:

You should not use this function to retrieve road widths in iOS 6 and later.

是否有其他功能可以替代使用,或者这只是iOS 6中缺少的功能

奇怪的是,如果你不应该使用它,那么该函数不会被弃用.

解决方法

我猜测它没有被弃用,因为功能将在某个时候重新添加.该功能仍然适用于iOS 6,因为它在调用时不会导致崩溃,即使输出无用.

如果您查看(Apple)地图应用程序,可以看到当您放大方向路径时,路径的宽度会以最高缩放级别增加.在那些高变焦水平下,道路的宽度也会增加.显然,Apple有一种内部方式可以了解缩放时道路的宽度.也许它尚未经过一般发布的全面测试.

万一有人认为你仍然可以使用这个功能,这里是建议的道路宽度从完全放大(MKZoomScale = 1)开始并缩小.

码:

for (float zoomScale=1; zoomScale>0.00001; zoomScale /= 2) {
    NSLog(@"zoomScale: %f Road Width: %f",zoomScale,MKRoadWidthAtZoomScale(zoomScale));
}

结果:

zoomScale: 1.000000 Road Width: 21.000000
zoomScale: 0.500000 Road Width: 32.000000
zoomScale: 0.250000 Road Width: 60.000000
zoomScale: 0.125000 Road Width: 96.000000
zoomScale: 0.062500 Road Width: 176.000000
zoomScale: 0.031250 Road Width: 288.000000
zoomScale: 0.015625 Road Width: 448.000000
zoomScale: 0.007812 Road Width: 768.000000
zoomScale: 0.003906 Road Width: 1536.000000
zoomScale: 0.001953 Road Width: 2048.000000
...

至于替换功能,我建议只创建一些适用于最高2或3个缩放级别并使用低于该值的常量值的值.

这是Apple低地和高放大的地图路线叠加.您可以看到替代路线没有考虑更大的道路宽度,但主要路线宽度是现场.更改路线不会影响替代路线宽度.

猜你在找的iOS相关文章