如何从Ios 6中的用户获取键入地址的纬度和经度

use*_*149 3 map core-location ios

我是Ios的新人.我正在学习MapKit和CoreLocation.我的程序中有两个视图控制器,在第一个视图控制器中有一个文本字段,用户可以键入一个地址.和一个按钮.填写地址后,如果用户点击按钮,它将重定向到第二视图控制器,即地图视图控制器.将有两个注释.一个用于用户的当前位置,另一个用于用户的键入地址.所以,请你告诉我如何获取lat,长期用户输入的地址,并在地图视图上显示该纬度的注释.

提前致谢.

cha*_*dan 8

这是代码

#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>

+(CLLocationCoordinate2D) getLocationFromAddressString:(NSString*) addressStr {

    double latitude = 0, longitude = 0;
    NSString *esc_addr =  [addressStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *req = [NSString stringWithFormat:@"http://maps.google.com/maps/api/geocode/json?sensor=false&address=%@", esc_addr];
    NSString *result = [NSString stringWithContentsOfURL:[NSURL URLWithString:req] encoding:NSUTF8StringEncoding error:NULL];
    if (result) {
        NSScanner *scanner = [NSScanner scannerWithString:result];
        if ([scanner scanUpToString:@"\"lat\" :" intoString:nil] && [scanner scanString:@"\"lat\" :" intoString:nil]) {
            [scanner scanDouble:&latitude];
            if ([scanner scanUpToString:@"\"lng\" :" intoString:nil] && [scanner scanString:@"\"lng\" :" intoString:nil]) {
                [scanner scanDouble:&longitude];
            }
        }
    }
    CLLocationCoordinate2D center;
    center.latitude = latitude;
    center.longitude = longitude;
    return center;

}
Run Code Online (Sandbox Code Playgroud)

然后调用此方法

coordinates = [self getLocationFromAddressString:@"address"];
Run Code Online (Sandbox Code Playgroud)