如何设置Google Places API for iOS的结果语言(en)?

时间:2016-06-22 22:19:26

标签: ios objective-c google-maps google-places-api

我看到this question但是没有人回答如何使用Google Places Api for iOS(GMSAutocompleteFilter)更改语言。我需要通过代码设置lenguaje参数,以便Google api始终以英语返回结果。我在documentation中看到它是一个名为' language'的可选参数,但是我无法找到在iOS API中设置它的方法(不是doc中的url示例)

if(aQuery.length>0){
    GMSAutocompleteFilter *filter = [[GMSAutocompleteFilter alloc] init];
    filter.type = kGMSPlacesAutocompleteTypeFilterCity;
//            filter.accessibilityLanguage = @"en";


    [_placesClient autocompleteQuery:aQuery
                              bounds:nil
                              filter:filter
                            callback:^(NSArray *results, NSError *error) {
                                if (error != nil) {
                                    NSLog(@"Autocomplete error %@", [error localizedDescription]);
                                    handler(nil);
                                    return;
                                }
                                if(results.count>0){
                                NSMutableArray *arrfinal=[NSMutableArray array];
                                for (GMSAutocompletePrediction* result in results) {
                                    NSDictionary *aTempDict =  [NSDictionary dictionaryWithObjectsAndKeys:result.attributedFullText.string,@"description",result.placeID,@"reference", nil];
                                    PlaceObject *placeObj=[[PlaceObject alloc]initWithPlaceName:[aTempDict objectForKey:@"description"]];
                                    placeObj.userInfo=aTempDict;
                                    [arrfinal addObject:placeObj];

                                }
                                    handler(arrfinal);
                                }else{
                                    handler(nil);
                                }
                            }];
}else{
    handler(nil);
}

1 个答案:

答案 0 :(得分:1)

您可能需要使用Geocoding API以其他语言接收这些回复。请参阅此处了解反向地理编码文章,其中language参数向下几段。

您可以使用适当的网址和语言参数制作NSURLRequest。响应采用JSON格式,因此您应该能够在代码中动态处理此更改。

更简洁的方法可能是创建一个单独的页面,作为一种Web服务。它接受两个参数:语言代码和地址。它使用所请求的语言代码加载API,并反向对地址进行地理编码,从而提供结果。您的页面会将此类Web服务称为两次,每种语言一次,然后根据需要使用结果。