【发布时间】:2011-05-09 04:20:11
【问题描述】:
在我的应用程序中,我打算使用转发地理编码来允许用户在搜索栏中输入地址,然后在地图上放置一个标记。
我可以仔细检查以下方法是否适用于我打算做的事情吗?
-(CLLocationCoordinate2D) addressLocation {
NSString *urlString = [NSString stringWithFormat:@"http://maps.google.com/maps/geo?q=%@&output=csv",
[searchBar.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
//NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString]];
NSError* error;
NSString *locationString = [NSString stringWithContentsOfURL:[NSURL URLWithString:urlString] encoding:NSASCIIStringEncoding error:&error];
NSArray *listItems = [locationString componentsSeparatedByString:@","];
double latitude = 0.0;
double longitude = 0.0;
if([listItems count] >= 4 && [[listItems objectAtIndex:0] isEqualToString:@"200"]) {
latitude = [[listItems objectAtIndex:2] doubleValue];
longitude = [[listItems objectAtIndex:3] doubleValue];
}
else {
//Show error
}
CLLocationCoordinate2D location;
location.latitude = latitude;
location.longitude = longitude;
return location;
}
我将调用上述方法来获取纬度和经度,然后在地图上相应地添加注释。我需要为此注册一个 APIKey 吗?如果是,我应该在哪里包含它,在这种情况下我仍然可以为我的应用收取费用吗?
谢谢!
郑和
【问题讨论】:
标签: objective-c ios mapkit geocoding