1. ホーム
  2. iphone

[解決済み] MKMapViewのズームレベル設定

2022-08-23 12:08:41

質問

私は正しく表示される地図を持っています。今私がしたい唯一のことは、それがロードされたときにズームレベルを設定することです。これを実行する方法はありますか?

ありがとうございます。

どのように解決するのですか?

私は自分自身で解決策を見つけました。それは非常にシンプルで、トリックを行うものです。使用方法 MKCoordinateRegionMakeWithDistance を使用して、希望するズームを得るために垂直方向と水平方向の距離をメートル単位で設定します。そうすれば、もちろん位置を更新したときに正しい座標が得られますし、それを直接 CLLocationCoordinate2D で直接指定することもできます。

CLLocationCoordinate2D noLocation;
MKCoordinateRegion viewRegion = MKCoordinateRegionMakeWithDistance(noLocation, 500, 500);
MKCoordinateRegion adjustedRegion = [self.mapView regionThatFits:viewRegion];          
[self.mapView setRegion:adjustedRegion animated:YES];
self.mapView.showsUserLocation = YES;

スウィフト

let location = ...
let region = MKCoordinateRegion( center: location.coordinate, latitudinalMeters: CLLocationDistance(exactly: 5000)!, longitudinalMeters: CLLocationDistance(exactly: 5000)!)
mapView.setRegion(mapView.regionThatFits(region), animated: true)