如何使用 Google Place API 进行 mapview 搜索地点

Posted

技术标签:

【中文标题】如何使用 Google Place API 进行 mapview 搜索地点【英文标题】:How to use Google Place API for mapview seaching Place 【发布时间】:2015-12-07 06:56:56 【问题描述】:

我想使用 Google Place API 通过搜索栏按地点查找附近。

我正在执行一个演示,如果我写任何地名,我希望在其中 在搜索栏中,它会建议附近的地点列表,我可以选择 其中之一来自建议列表。当我选择我的自定义地点时 大头针转到选定的地方,我得到了那个地方的态度和经度 地点。

现在我的问题是如何让搜索栏给出附近地点的建议?我怎样才能将我的图钉移动到选定的地方,并在那个地方凝胶拉长?

欢迎任何演示或建议。 如果可以,请帮助我。

【问题讨论】:

【参考方案1】:

我正在使用这个(在下面找到)api 来搜索从 google 获取地点建议。只需从 google 控制台创建一个 api 密钥并启用 google places api。我认为它不是免费的,但每天 1000 个电话是免费的。

自动完成 API:-

https://maps.googleapis.com/maps/api/place/autocomplete/json?key=api_key&input=text_to_search

NearBy API:-

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=cruise&key=YOUR_API_KEY

google 的这个自动完成地点 api 将根据您提供给它的文本为您提供建议。

""""""""""""""""""""

为了根据api给定的json显示搜索结果,我在数据到来时使用tableview重新加载表格。

对于搜索,我使用的是文本字段而不是搜索栏。借助文本字段的委托方法,我实现了文本字段中的文本更改并调用 api 以获取结果,因为文本是文本字段中的更新。

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
 
    NSString *stringWithformat = [textField.text stringByReplacingOccurrencesOfString:@" " withString:@"+"];
    [self CallToPlaceAPI:stringWithformat];
    return YES;
 

使用文本字段下方的表格显示给定 API 结果的自动完成建议的结果。

我在 ios 应用程序中使用谷歌地图集成。当您在搜索的帮助下找到一个位置时,使用此代码将地图移动到该位置。

技巧:- 在视图中间添加一个静态图钉,在其中添加您的谷歌地图。谷歌地图将移动到通过搜索找到的位置。谷歌地图将自动在地图中间显示搜索位置。所以它将是在您的静态图钉下。使用此谷歌地图代码移动地图。

 -(void)moveMapToLatLong 
 
        cameraPosition = [GMSCameraPosition cameraWithLatitude:latitude longitude:longitude zoom:12];

        mapViewmain.camera = cameraPosition;
  

通过这种方式,我运行良好。 谢谢

【讨论】:

以上是关于如何使用 Google Place API 进行 mapview 搜索地点的主要内容,如果未能解决你的问题,请参考以下文章

如何通过google javascript api获取知道place_id的位置坐标

舍入Google Maps API中的place.geometry.location值

如何将从 Google Place API 获取的信息存储到 Firebase?

如何在工具栏中实现自动完成 google place api - Android

使用 Google Place API 获取事件

使用 Google Place API 自动完成 TextView