0

我正在ILGeoNames用作地理编码服务来搜索国家/地区,但它似乎不支持多种语言,我需要根据所选语言本地化搜索结果,即阿拉伯语、法语、土耳其语等......有办法做到这一点ILGeoNames吗?如果没有,是否还有另一个客观的 c 地理编码服务可以做到这一点?提前致谢。

4

1 回答 1

0

在 ILGeoNamesLookup.m 你有这个功能

- (void)search:(NSString*)query maxRows:(NSInteger)maxRows startRow:(NSUInteger)startRow language:(NSString*)langCode {
    NSString    *urlString;

    // Sanitize parameters
    if(!langCode) {
        NSBundle *bundle = [NSBundle bundleForClass:[self class]];
        NSArray *localizations = [bundle preferredLocalizations];
        if([localizations count])
            langCode = [localizations objectAtIndex:0];
        else
            langCode = @"en";
    }
    if(maxRows > 1000)
        maxRows = 1000;

    // Request formatted according to http://www.geonames.org/export/geonames-search.html
    NSString *escQuery = [query stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    urlString = [NSString stringWithFormat:kILGeoNamesSearchURL, escQuery, maxRows, startRow, langCode, userID];
    [self sendRequestWithURLString:urlString];
}

如果您输入参数 langCode,则搜索将以您选择的语言返回。我试过用“es”,它工作正常。

干杯

于 2014-10-17T08:59:38.573 回答