我有一个中心设置为 -42、179.5 度并启用滚动的 MKMapView。我可以滚动以使中心位于小于 180 度的位置,但是如果我尝试向东滚动越过子午线,滚动就会被阻止——我必须一直滚动到全球。委婉地说,这对新西兰人来说是不方便的。
如何在 MKMapView 中启用滚动子午线?
没有启用跨基准限制滚动的开关。(经度-180/180)
您可以自己检测到:
在 中regionDidChangedAnimated
,检测右边框的坐标,如果它们接近 -180 或 180,则显示箭头按钮(或尝试拦截滚动手势)并调用setRegion
or setCenter
,修改值以使新区域不包含基准限制任何更多的。
根据 Apple 开发者论坛上的帖子,这是 iOS 中一个已知的、已报告的错误。Apple 的 Maps 应用程序在 iOS 5 下也有同样的问题,但在 iOS 6 下没有,尽管 MKMapView 的问题仍然存在。
据推测,当底层错误得到修复时,这将开始起作用。同时,如果有人有解决方法,我会很感兴趣。
此问题将在 iOS 7 中修复。地图视图现在可以跨越 180 度经线。