我在iPhone上使用MKMapView
創建一個地圖應用程序。個zoomLevel和mapCenter中的MKMapView
我也順利地找到我的current location
和zoom
在這一點上是這樣的:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.mapView.delegate = self;
self.locationManager = [[CLLocationManager alloc] init];
[locationManager setDelegate:self];
[locationManager setDistanceFilter:kCLDistanceFilterNone];
[locationManager setDesiredAccuracy:kCLLocationAccuracyBest];
[self.mapView setShowsUserLocation:YES];
}
-(void) mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views
{
MKAnnotationView *annotationView = [views objectAtIndex:0];
id<MKAnnotation> mp = [annotationView annotation];
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([mp coordinate], 1550, 1550);
[self.mapView setRegion:region animated:YES];
}
,我想解決的問題是:
我對map
(此代碼location
在viewDidLoad
):
CLLocationCoordinate2D location = [self getLocationFromAddressString:@"San Francisco, CA, United States"];
// location.latitude = 37.78608;
// location.longitude = -122.407398;
MapViewAnnotation *mapAnnotation = [[MapViewAnnotation alloc] initWithTitle:@"Store location" coordinate:location];
[self.mapView addAnnotation:mapAnnotation];
並且這是mapViewAnnotation:
@implementation MapViewAnnotation
@synthesize title = _title;
@synthesize coordinate = _coordinate;
- (id) initWithTitle:(NSString *) t coordinate:(CLLocationCoordinate2D) c {
self = [super init];
if(self) {
_title = t;
_coordinate = c;
}
return self;
}
@end
我想爲這個location
和我current location
適當zoomLevel
和mapCenter
。
我可以使用MapController.zoomToSpan()
做成功的Android。我如何在iPhone Map中修復它?
它是某種硬編碼。你有在Android中使用MapController.zoomToSpan()嗎?事情是我想中心,放大我的當前位置和'CLLocationCoordinate2D位置',你的代碼不幫我。 – Ali
我有什麼'didAddAnnotationViews'方法?我應該在哪裏使用你的方法? – Ali
哎交配其很容易只看到如果創建CLLocationCoordinate2D對象陣列存儲你們兩個位置,並在arrLocation添加此並調用LocationUpdate方法或viewWillAppear中的方法此方法..只是嘗試使用它.. –