在用户开始输入位置名称的文本字段中,我想在下面显示位置名称列表作为用户类型,类似于以字母“A”开头的搜索字段显示“A”的所有选项。这怎么可能实现。
如何获取位置名称?
请指导以上。如果有任何其他问题需要询问,请随时询问。
提前致谢。
在用户开始输入位置名称的文本字段中,我想在下面显示位置名称列表作为用户类型,类似于以字母“A”开头的搜索字段显示“A”的所有选项。这怎么可能实现。
如何获取位置名称?
请指导以上。如果有任何其他问题需要询问,请随时询问。
提前致谢。
你肯定需要使用google api。这是一个链接:https ://developers.google.com/places/documentation/autocomplete
The Google Places Autocomplete API is a web service that returns Place information based on text search terms, and, optionally, geographic bounds. The API can be used to provide autocomplete functionality for text-based geographic searches, by returning Places such as businesses, addresses, and points of interest as a user types.
您需要使用https://code.google.com/apis/console/#project:18836829369创建您的 API 密钥。当您收到回复时,您只需要查看predictions
您的 json 回复。
希望这可以帮助 :)
您可以使用以下给定的功能:
- (void)searchText:(NSString *)substring
{
for (int i = 0; i < [yourArray count]; i++)
{
NSString *curString = [[yourArray objectAtIndex:i]lowercaseString];
NSString *searchString = [substring lowercaseString];
if ([curString rangeOfString:curStringSmall].location == NSNotFound)
{
}
else
{
//This means searched text is found in your array. you can store it in new array. Which will give you only the search criteria matched element.
}
}
}
您需要从以下位置调用此函数textFieldShouldBeginEditing
:
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
[self searchText:txtSearch.text];
return YES;
}
您应该使用 google place API。我对此了解不多,但此链接会有所帮助。
请记住这一点用于位置搜索而不是自动完成搜索栏。