iOS MapKit - 在缩放时包含用户位置的showAnnotations

时间:2018-01-03 19:37:28

标签: ios swift swift3 mapkit

我在viewDidAppear中进行了网络调用,该网络调用检索包含要在地图上显示的位置信息的网站列表。调用showAnnotations时,地图将缩放以显示所有注释排除用户的位置。

其他Stack Overflow问题说使用动画标记调用showAnnotations为true,但这不起作用。

// Assign new sites
self.sites = newSites

// Show annotations on map
self.mapView.showAnnotations(self.sites, animated: true)

为什么这只是缩放以显示网站而不是用户的位置?

1 个答案:

答案 0 :(得分:1)

问题在于showAnnotations会将注释添加到地图中,并且只会缩放以显示这些注释 - 这非常有意义。那么我们如何才能包含用户的位置?我用以下代码完成了它:

// Assign new sites
self.sites = newSites

// Add new annotations
self.mapView.addAnnotations(self.sites)

// Show all annotations to include current user location
self.mapView.showAnnotations(self.mapView.annotations, animated: true)

这里的关键部分是首先使用mapView.addAnnotations添加注释,然后在包含用户位置的所有mapView注释上调用mapView.showAnnotations(...,animated:true)。