将MKMapView放入UIViewController并将其设置为Satellite视图时,地图会进行缩放和调整,以显示用户当前所在的整个国家/地区:例如美国,如下所示。
当用户正在缩放地图或我以编程方式缩放地图时,它似乎无法恢复此默认缩放级别。
当然我可以找到这个默认缩放的坐标以缩放到那个设置,但实际上我需要为每个不值得的国家做到这一点。
有人知道如何解决这个问题吗?
答案 0 :(得分:5)
要做到这一点,它需要两种类型的信息。所选国家/地区的中心坐标以及在地图上为region.span设置的正确值。它可能可以从Apple Maps数据库访问该数据。我不知道这是向我们公开的。但是如果你在网上搜索可能会给你这两个值,那么互联网上还有其他的地理编码数据库。
如果找到符合您需要的产品,请使用以下方法在地图上设置:
myMKMapView.region.center = // Center coordinates of country
myMKMapView.region.span = // A value large enough to enclose the country.
答案 1 :(得分:-1)
您只需在viewDidAppear上保存默认区域,然后在需要时使用它:}
class MyController: UIViewController {
@IBOutlet weak var mapView: MKMapView!
var defaultRegion: MKCoordinateRegion?
override func viewDidAppear(animated: Bool) {
defaultRegion = mapView.region
}
func showDefaultMapArea() {
if let region = defaultRegion {
mapView.setRegion(region, animated: true)
}
}