Bagaimana cara mengatur tingkat zoom Google MapKit saya di SDK? Misalnya, saya tinggal di New York, dan saya sudah menyiapkan 4 posisi koordinat di ProjectName-info.plist saya (Jenis URL > Item 0 > Skema URL > Item 0), lalu saya sudah menyiapkan kode saya di File subkelas UIViewController:
#import "GoogleMap.h"
#import "MyAnnotation.h"
@implementation GoogleMap
- (void)viewDidLoad {
[super viewDidLoad];
variable1 = [[NSArray alloc] initWithContentsOfFile:[[NSBundle mainBundle]
pathForResource:@"NewYorkAreas"
ofType:@"plist"]];
double minLat = [[variable1 valueForKeyPath:@"@min.latitude"] doubleValue];
double maxLat = [[variable1 valueForKeyPath:@"@max.latitude"] doubleValue];
double minLon = [[variable1 valueForKeyPath:@"@min.longitude"] doubleValue];
double maxLon = [[variable1 valueForKeyPath:@"@max.longitude"] doubleValue];
MKCoordinateRegion region;
region.center.latitude = (maxLat + minLat) / 2.0;
region.center.longitude = (maxLon + minLon) / 2.0;
region.span.latitudeDelta = (maxLat - minLat) * 1.05;
region.span.longitudeDelta = (maxLon - minLon) * 1.05;
map.region = region;
for (NSDictionary *newYorkAreasDict in variable1){
MyAnnotation *annotation = [[MyAnnotation alloc] initWithDictionary:newYorkAreasDict];
[map addAnnotation:annotation];
[annotation release];
}
}
- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation{
if (map.userLocation == annotation){
return nil;
}
NSString *identifier = @"MY_IDENTIFIER";
MKAnnotationView *annotationView = [map dequeueReusableAnnotationViewWithIdentifier:identifier];
if (annotationView == nil){
annotationView = [[[MKAnnotationView alloc] initWithAnnotation:annotation
reuseIdentifier:identifier]
autorelease];
annotationView.image = [UIImage imageNamed:@"logo.png"];
annotationView.canShowCallout = YES;
annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
}
return annotationView;
}
Jadi hanya ini yang saya miliki untuk saat ini dalam kode saya, yang berfungsi dengan sempurna ketika saya menjalankan dan men-debug aplikasi, dan menunjukkan lokasi keempat area yang saya atur pada tingkat zoom yang baik, tetapi sekarang saya hanya ingin 1 area untuk disetel , jadi ketika saya menghapus 3 area lainnya dan ketika menjalankannya dan hanya memberi saya satu area, tingkat zoomnya tampak sangat dekat dengan peta:
Jadi ketika kode sudah diperbaiki (dengan asumsi seseorang membantu saya memperbaiki kode untuk tingkat zoom), saat saya menjalankannya lagi, ketika saya mengklik "Temukan kami di Google Map", tingkat zoom halaman pembuka Google Map saya akan terlihat seperti ini:
Jadi ya semoga ada yang bisa membantu saya memperbaiki tingkat zoom ini ketika saya mulai membuka Google Map, terima kasih!
(Tentang nama variabel New York, lupakan saja, saya tidak tinggal di New York haha)