如何使 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?的主要内容,如果未能解决你的问题,请参考以下文章

使图像适合 HTML 表格中的指定行高

在 xamarin ios 中使用 MkMap 不会出现路线

Mkmap查看用户位置

MKMap 引脚颜色不显示

Swift 删除 MKMap 视图上的“我的位置”注释

使用 mkmap 加载地图时显示标题