如何使 MKMap 适合指定的 View-Region?
Posted
技术标签:
【中文标题】如何使 MKMap 适合指定的 View-Region?【英文标题】:How to make a MKMap fit inside the specified View-Region? 【发布时间】:2013-02-26 16:04:55 【问题描述】:我在设置 MKMapView 时遇到了一点问题。 我真的只是希望完整的地图适合里面指定的 MkMapView-Region 故事板。 但似乎无法缩放或缩放地图,结果整个世界都是可见的。 这是它的样子:
因此,如果我想同时显示连接的注释,如果它们彼此远离,它将不起作用。因为不可能使整个地图适合。 也许我错过了设置 MapView 的步骤,但我不明白。 任何想法我做错了什么?
【问题讨论】:
【参考方案1】:可以使用MKMapView的如下方法
- (void)setRegion:(MKCoordinateRegion)region animated:(BOOL)animated
设置中心点和缩放级别。
【讨论】:
抱歉,这不是正确的答案。使用 setregion 我可以设置 Mapviews 区域本身。但似乎 MkmMapView 必须有多大才能使完整的地图适合视图。但我想让它适合任何尺寸。 世界地图正方形,除非你有正方形视图,否则你无法一次看到整个地图。默特的回答是正确的。也许您的 MKMapView 实际上比您显示的要大,但它的一部分被其他视图隐藏了。【参考方案2】:希望这会对你有所帮助。
如果只有 1 个注释,那么让我们有一个很好的缩放比例,比如 10 倍。否则缩放直到我们只看到所有注释(+一些额外的填充:)
if ([currentMapView.annotations count] == 1)
region.span.latitudeDelta = 0.02;
region.span.longitudeDelta = 0.02;
else
region.span.latitudeDelta = fabs(topLeftCoord.latitude - bottomRightCoord.latitude) * 1.1; // Add a little extra space on the sides
region.span.longitudeDelta = fabs(bottomRightCoord.longitude - topLeftCoord.longitude) * 1.1; // Add a little extra space on the sides
【讨论】:
以上是关于如何使 MKMap 适合指定的 View-Region?的主要内容,如果未能解决你的问题,请参考以下文章