即时建立一个应用程序在IOS中,它有一个UITextView
用户输入类似他的地址,但没有整个,谷歌应该预测并完成地址,我已经有一个谷歌的钥匙,请帮我执行这一点,我无法理解如何如何在UitextView中集成谷歌地点搜索器?
0
A
回答
0
首先,您必须从- (void)textViewDidChange:(UITextView *)textView
委托方法获取更新文本。然后使用谷歌地图SDK搜索最匹配的位置。
- (void)textViewDidChange:(UITextView *)textView {
[self searchLocationWithText:textView.text];
}
- (void)searchLocationWithText:(NSString *)searchText
{
NSString *url = [NSString stringWithFormat:@"https://maps.googleapis.com/maps/api/place/textsearch/json?query=%@&key=%@", searchText, kGoogleSDKBrowserKey];
NSURL *googleRequestURL = [NSURL URLWithString:url];
// Retrieve the results of the URL.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSData *data = [NSData dataWithContentsOfURL:googleRequestURL];
NSError *error = nil;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
if ([[json objectForKey:@"status"] isEqualToString:@"OK"]) {
NSArray *locations = [json objectForKey:@"results"];
NSDictionary *place = [locations firstObject];
NSString *locationName = [place objectForKey:@"name"];
// Set location name to your textView
textView.text = locationName;
}
});
}
这里kGoogleSDKBrowserKey是您注册的API密钥。另请参阅how to register for Google Places
0
你将不得不实施UITextFieldDelegate
, 在textField:shouldChangeCharactersInRange:replacementString
方法,你应该有这样的事情:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString *substring = [NSString stringWithString:textField.text];
substring = [substring stringByReplacingCharactersInRange:range withString:string];
substring = [substring stringByReplacingOccurrencesOfString:@" " withString:@""];
// your code to send the search string to google place API
return YES;
}
当你的搜索请求,谷歌的地方API完成后不要忘记重新加载您的UITableView的数据使用:[yourTable reloadData]
希望这会有所帮助。
干杯。
相关问题
- 1. 谷歌搜索集成
- 2. 谷歌地图搜索地点
- 3. 如何在Android中将自动填充搜索与谷歌地图集成?
- 4. 与谷歌搜索结果集成
- 5. 集成谷歌搜索网站
- 6. 从谷歌搜索地点名称地方搜索
- 7. Foursquare地点搜索/谷歌地图搜索
- 8. 谷歌地图如何搜索按钮点击的地方
- 9. 谷歌本地搜索API
- 10. 谷歌地球API搜索
- 11. 谷歌地图搜索框
- 12. 如何将谷歌地图添加到谷歌搜索结果?
- 13. 集成 - 谷歌酒店搜索器 - 网络应用程序
- 14. 如何生成谷歌地图搜索结果的链接
- 15. 如何在集成谷歌驱动器时检索EXISTING_FILE_ID
- 16. django,谷歌地图集成
- 17. 谷歌地图集成
- 18. Drupal谷歌地图集成
- 19. 如何实现像谷歌地图搜索一样的搜索?
- 20. 将谷歌地图中的“我的地图”集成到网站中,并使地点可搜索
- 21. 在谷歌搜索
- 22. 在谷歌搜索
- 23. 在谷歌搜索
- 24. 谷歌在宏中搜索
- 25. 谷歌地图搜索输出谷歌地图的搜索whisperingrer的国家
- 26. 如何添加事件addListener点击标记后搜索地点谷歌地图
- 27. 谷歌搜索谷歌搜索谷歌API或r python
- 28. 如何使用uitextfield搜索谷歌地图中的地方sdk
- 29. 谷歌地方搜索API在IOS
- 30. 谷歌地图:在特定县搜索
[如何设置谷歌将自动完成请求置于iOS中的UITextField](http://stackoverflow.com/questions/13005494/how-to-set-the-google-places-autocomplete -requests-to-a-uitextfield-in-ios) –
或者你也可以使用这个https://github.com/mrugrajsinh/MVAutocompletePlaceSearchTextField –