iOS地图选址

       本文实现功能是在地图上选取某点,获取该点的经纬度,然后我们就可以根据经纬度检索该地区相关信息了;

效果图:

 iOS地图选址_第1张图片   iOS地图选址_第2张图片


 iOS地图选址_第3张图片   iOS地图选址_第4张图片


蓝色点表示根据传入经纬度所定位出来的位置,红色大头针表示在地图上选取某点时插上大头针,标注该点经纬度信息;


代码部分:

视图初始化

- (void)viewDidLoad
{
    [super viewDidLoad];
    
//    用一个经纬度初始化
    CLLocation *location = [[CLLocation alloc] initWithLatitude:32.969 longitude:112.549];
//    设置缩放级别大小
    MKCoordinateSpan span;
    span.latitudeDelta = 0.1;
    span.longitudeDelta = 0.1;
    
//    设置显示范围
    MKCoordinateRegion region;
    region.center = location.coordinate;
    region.span = span;
    
	mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
//    显示定位位置
    mapView.showsUserLocation = YES;
//    地图显示类型
    mapView.mapType = MKMapTypeStandard;
    
    [self.view addSubview:mapView];
    [mapView setRegion:region animated:NO];
    [location release];
    [mapView release];
 //  定义一个iOS拍击手势   
    UITapGestureRecognizer *gestureTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapPress:)];
    [mapView addGestureRecognizer:gestureTap];

}


iOS上手指拍击事件
-(void)tapPress:(UIGestureRecognizer *)sender
{
    NSLog(@"%@",NSStringFromSelector(_cmd));
    CGPoint touchPoint = [sender locationInView:mapView];
    CLLocationCoordinate2D touchLocation = [mapView convertPoint:touchPoint toCoordinateFromView:mapView];
    NSLog(@"latitude--->%f",touchLocation.latitude);
    NSLog(@"longitude-->%F",touchLocation.longitude);
    
    [self creatAnnotation:touchLocation];
}


创建大头针
-(void)creatAnnotation:(CLLocationCoordinate2D )locationCoordinate 
{
    MKPointAnnotation *pointAnnotation=Nil;

    pointAnnotation = [[[MKPointAnnotation alloc] init] autorelease];
    pointAnnotation.coordinate = locationCoordinate;
    pointAnnotation.title = @"当前经纬度:";
    pointAnnotation.subtitle = [NSString stringWithFormat:@"%f %f",locationCoordinate.latitude,locationCoordinate.longitude];
  
    /*********自动调整当前地图最适位置************
    MKCoordinateRegion region;
    region.center = locationCoordinate;
    region.span.latitudeDelta = 0.3;
    region.span.longitudeDelta = 0.3;
    [mapView setRegion:region animated:YES];
     *****************************************/
    
    [mapView addAnnotation:pointAnnotation];
   
}



源代码:http://download.csdn.net/detail/duxinfeng2010/4873390




你可能感兴趣的:(地图取址)