Используйте следующий код для отображения текущего местоположения в MKMapView и для установки уровня масштабирования в iPhone App.
1) Добавьте MApKit и CoreLocation Framework в ваш проект.
2) Используйте следующий код вФайл ViewController.h:
#import "mapKit/MapKit.h"
#import "CoreLocation/CoreLocation.h"
@interface ViewController : UIViewController<MKMapViewDelegate, CLLocationManagerDelegate>
{
MKMapView *theMapView;
CLLocationManager *locationManager;
CLLocation *location;
float latitude, longitude;
}
3) Добавьте следующий код в метод viewDidLoad:
// Add MKMapView in your View
theMapView=[[MKMapView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
theMapView.delegate=self;
[self.view addSubview:theMapView];
// Create an instance of CLLocationManager
locationManager=[[CLLocationManager alloc] init];
locationManager.desiredAccuracy=kCLLocationAccuracyBest;
locationManager.delegate=self;
[locationManager startUpdatingLocation];
// Create an instance of CLLocation
location=[locationManager location];
// Set Center Coordinates of MapView
theMapView.centerCoordinate=CLLocationCoordinate2DMake(location.coordinate.latitude, location.coordinate.longitude);
// Set Annotation to show current Location
MKPointAnnotation *annotaionPoint=[[MKPointAnnotation alloc] init];
annotaionPoint.coordinate=theMapView.centerCoordinate;
annotaionPoint.title=@"New Delhi";
annotaionPoint.subtitle=@"Capital";
[theMapView addAnnotation:annotaionPoint];
// Setting Zoom Level on MapView
MKCoordinateRegion coordinateRegion;
coordinateRegion.center = theMapView.centerCoordinate;
coordinateRegion.span.latitudeDelta = 1;
coordinateRegion.span.longitudeDelta = 1;
[theMapView setRegion:coordinateRegion animated:YES];
// Show userLocation (Blue Circle)
theMapView.showsUserLocation=YES;
4) Используйте следующее расположение для обновления пользовательского местоположения
-(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
latitude=userLocation.coordinate.latitude;
longitude=userLocation.coordinate.longitude;
theMapView.centerCoordinate=CLLocationCoordinate2DMake(latitude, longitude);
MKPointAnnotation *annotationPoint=[[MKPointAnnotation alloc] init];
annotationPoint.coordinate=theMapView.centerCoordinate;
annotationPoint.title=@"Moradabad";
annotationPoint.subtitle=@"My Home Town";
}