Kode di bawah ini adalah metode yang saya gunakan untuk memperbesar lokasi pengguna, tetapi kemudian menghentikannya agar tidak terus-menerus melakukan zoom ulang setelah pengguna memindahkan peta. Masalah dengan metode ini adalah ketika meminta izin untuk data lokasi pengguna di aplikasi, dan saya memilih ya, metode ini tidak melakukan apa pun. Saya harus meninggalkan halaman dan kembali sebelum dapat diperbesar dengan benar.
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context{
if ([self.mapView showsUserLocation])
{
MKCoordinateRegion region;
region.center = self.mapView.userLocation.coordinate;
MKCoordinateSpan span;
span.latitudeDelta = .50; // Change these values to change the zoom
span.longitudeDelta = .50;
region.span = span;
[self.mapView setRegion:region animated:YES];
self.mapView.showsUserLocation = NO;}
}
Metode di atas harus memantau perubahan lokasi pengguna dan kemudian mengatur lokasi setelah ditemukan. Saya kemudian menetapkan kondisi dalam pernyataan if untuk menghentikannya -- jika tidak, peta akan terus berpindah kembali ke lokasi pengguna saat Anda memindahkan peta.