较小的 MapKit 缩放间隔 iPhone

Posted

技术标签:

【中文标题】较小的 MapKit 缩放间隔 iPhone【英文标题】:Smaller MapKit Zoom Interval iPhone 【发布时间】:2011-07-12 17:56:58 【问题描述】:

我正在尝试缩放到特定区域。我遇到的问题是,据我所知,以编程方式,您只能设置为固定缩放级别。我制作了一个测试应用程序来证明这一点。我使用固定的中心坐标,然后只是改变以米为单位的大小。在我在 1000 到 4000 之间进行的测试中,缩放级别大约为:

有人知道更准确的设置方法吗? (我尝试在长/纬度跨度上使用相同的测试应用程序 - 具有相同的边界)。

提前致谢

【问题讨论】:

有谁知道MKMapRect是否会发生同样的事情,并设置可见矩形? - 我真的不知道如何让地图像被捏住一样缩放? 如果有人能告诉我如何做到这一点,即使它没有通过设置 MapKit 缩放(例如触摸仿真)来明确... 你现在如何设置缩放? 我尝试过使用 MKMapRects,创建一个 MKCoordinateSpan,然后使用 MKCoordinateRegionMake,以及 MKCoordinateRegionMAkeWithDistance 【参考方案1】:

MapKit 只允许设置整体缩放级别。 File an enhancement request 用于非整体缩放级别。

【讨论】:

谢谢,如果它可以通过触摸来完成,你能不能向 mapkit 或其他东西发送手动触摸事件??【参考方案2】:

原则上,您应该能够使用setVisibleMapRect:animated:setRegion:animated: 设置任意缩放级别。 然而,正如您所注意到的,MapKit 中似乎存在一个“向上取整”到下一个完整缩放级别的错误……非常烦人的行为。我前段时间向 Apple 报告了它,根据错误报告系统它仍然处于打开状态。很遗憾地报告我找不到任何解决方法。

【讨论】:

感谢您说清楚 - 我只是觉得奇怪的是用户比开发人员拥有更多的控制权!【参考方案3】:

是的,这是一个问题,但您可以尝试找到适合您需要的值。这些数字可能与您想要的不完全相同。您需要通过查看地图来弄清楚。我今天也必须这样做,我这样做了:

    实现了 mapView:regionDidChangeAnimated:记录了地图的当前区域。我得到了 0.26... 和 0.24... 作为跨度,但即使我输入了这些值,我也没有得到相同的缩放级别。

    因为我得到了比我想要的更多的缩小,我开始减少这些值并最终使用 0.2 和 0.18。

目前想到的唯一解决方案是反复试验。您还可以通过手动捏合获得所需的缩放级别值。然后使用这些值以编程方式设置区域。如果地图被进一步缩小,请尝试按比例减小纬度和经度增量。如果它放大了,它会尝试按比例增加它们。

希望对你有帮助。

【讨论】:

以上是关于较小的 MapKit 缩放间隔 iPhone的主要内容,如果未能解决你的问题,请参考以下文章

Android ImageView 将较小的图像缩放到具有灵活高度的宽度,而不会裁剪或扭曲

需要完整的图像作为背景Cover Scroll,当前Cover看起来已放大。我希望以较小的缩放而不是完整的缩放显示实际图像

将较小的 UIWebView 显示为表单

转到/缩放到当前位置功能(MapKit)

将 MapKit 地图的缩放/边界与 RouteMe 地图的缩放/边界匹配

MapKit 缩放到用户当前位置