1

我正在寻找使用此 Google Places API 网址在 iOS 应用程序中进行搜索。而不是使用指定的位置,我想使用用户的当前位置:

NSURL *googlePlacesURL = [NSURL URLWithString:@"https://maps.googleapis.com/maps/api/place/search/xml?location=34.0522222,-118.2427778&radius=500&types=spa&sensor=false&key=AIzaSyAgcp4KtiTYifDSkIqd4-1IPBHCsU0r2_I"];

是否需要存储用户当前位置 lat/lon,然后将这些值放在 NSURL 中?

谢谢你的帮助

4

1 回答 1

3

您的 URl 显示您想列出当前位置附近的地点。

为此,您需要当前位置坐标、半径、搜索到的地名和​​关键字。

做这个:

第 1 步:添加 CoreLocation 框架

第 2 步:#导入

第 3 步:添加 CLLocationManagerDelegate 委托

第四步:制作 CLLocationManager *locationManager;

第 5 步:初始化 CLLocationManager(通常在 ViewDidLoad 中)

self.locationManager = [[CLLocationManager alloc] init];// autorelease];
// This is the most important property to set for the manager. It ultimately determines how the manager will
// attempt to acquire location and thus, the amount of power that will be consumed.
locationManager.desiredAccuracy = kCLLocationAccuracyBest ;
// Once configured, the location manager must be "started".
[locationManager startUpdatingLocation];   
locationManager.delegate = self;

第 6 步:为 CLLocationManager 编写代码

-(void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation 
{ 
    StrCurrentLongitude=[NSString stringWithFormat: @"%f", newLocation.coordinate.longitude]; // string value
    StrCurrentLatitude=[NSString stringWithFormat: @"%f", newLocation.coordinate.latitude];
    appDeleg.newlocation=newLocation;
    [locationManager stopUpdatingLocation]; // string Value
}

第 7 步:使用坐标和开火请求:

[NSURL URLWithString:[NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/search/xml?location=%@,%@&radius=%@&name=%@&sensor=false&key=YOU-API-KEY",StrCurrentLatitude,StrCurrentLongitude,appDeleg.strRadius,strSelectedCategory]

请享用

于 2012-08-21T10:44:31.853 回答