0
我實現了一個非常簡單的谷歌建議功能基於我在這裏找到:http://shreyaschand.com/blog/2013/01/03/google-autocomplete-api/我如何猜測Google建議功能的雙字母語言代碼?
你甚至不必使用XML解析器:
+ (NSArray *)suggestionsForQuery:(NSString *)query language:(NSString *)language
{
NSMutableArray *suggestions;
NSString *URLString = [NSString stringWithFormat:@"http://suggestqueries.google.com/complete/search?q=%@&client=toolbar&hl=%@", query, language];
NSError *error = nil;
NSString *XMLString = [NSString stringWithContentsOfURL:[NSURL URLWithString:URLString] encoding:NSUTF8StringEncoding error:&error];
if (error) {
NSLog(@"ERROR {%@}", error.description);
}
else {
XMLString = [XMLString stringByReplacingOccurrencesOfString:@"<?xml version=\"1.0\"?>" withString:@""];
XMLString = [XMLString stringByReplacingOccurrencesOfString:@"<toplevel>" withString:@""];
XMLString = [XMLString stringByReplacingOccurrencesOfString:@"</toplevel>" withString:@""];
XMLString = [XMLString stringByReplacingOccurrencesOfString:@"<CompleteSuggestion>" withString:@""];
XMLString = [XMLString stringByReplacingOccurrencesOfString:@"</CompleteSuggestion>" withString:@""];
XMLString = [XMLString stringByReplacingOccurrencesOfString:@"<suggestion data=\"" withString:@""];
suggestions = [NSMutableArray arrayWithArray:[XMLString componentsSeparatedByString:@"\"/>"]];
[suggestions removeLastObject];
}
return suggestions;
}
它的工作原理,但只有當你已經知道了兩個字母的語言代碼。
你知道有什麼方法可以根據用戶搜索的位置猜測兩個字母的語言代碼嗎?
如果它嚴格基於位置,如果假設用戶在法國度假並且所有突然的建議都改爲Google法國,我不會喜歡它。
它應該基於用戶在其iOS設備上已經使用的語言嗎?