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 に答える