是否可以使用包含字符串的Foursquare API搜索位置?

时间:2015-03-17 05:18:48

标签: ios foursquare

我想要搜索结果,例如Google搜索。enter image description here

如果我搜索'tokyo',那么它会给我四个包含'tokyo'的结果。 我想用Foursquare API做同样的功能。目前,我能够从当前位置或给定位置找到附近的地方。

1 个答案:

答案 0 :(得分:1)

您需要使用https://api.foursquare.com/v2/venues/search端点并使用查询参数,以便根据您的关键字返回匹配项。由于您使用的是iOS,因此您可以使用UITableView将结果显示为搜索建议或其他符合您要求的库。由于它类似于自动完成/自动提示搜索,我建议您尝试在文本字段的更改事件上调用端点并延迟。

使用AFNetworking iOS库的示例:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];

NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
[params setObject:FOURSQUARE_CLIENTID forKey:@"client_id"];
[params setObject:FOURSQUARE_CLIENTSECRET forKey:@"client_secret"];
[params setObject:searchTextField.text forKey:@"query"];
[params setObject:LatLong forKey:@"ll"];
[params setObject:FOURSQUARE_VERSION forKey:@"v"];

[manager GET:@"https://api.foursquare.com/v2/venues/search" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"JSON: %@", responseObject);
    //Process the JSON response here and output each venue name as search suggestion
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"Error: %@", error);
}];

我建议您阅读FourSquare documentation上的更多内容以及如何处理JSON结果,如果您还不知道如何将其显示到UITableView。

另请注意,您仍需提供您的" ll"作为参数,因为您只能使用端点查询附近的地点。

对于全球搜索而不使用" ll"或"附近"参数。您可以尝试使用根据文档的全局意图:

  

找到最全球相关的搜索场所,独立于   地点。忽略查询和限制以外的所有其他参数。