我在viewDidAppear中进行了网络调用,该网络调用检索包含要在地图上显示的位置信息的网站列表。调用showAnnotations时,地图将缩放以显示所有注释排除用户的位置。
其他Stack Overflow问题说使用动画标记调用showAnnotations为true,但这不起作用。
// Assign new sites
self.sites = newSites
// Show annotations on map
self.mapView.showAnnotations(self.sites, animated: true)
为什么这只是缩放以显示网站而不是用户的位置?
答案 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)。