查找最近的位置 Google Places API

Posted

技术标签:

【中文标题】查找最近的位置 Google Places API【英文标题】:Finding nearest location Google Places API 【发布时间】:2015-03-22 05:42:44 【问题描述】:

我有一个项目,它使用 Google 地方来搜索特定类型的业务,使用关键字搜索,以我用户的当前位置为中心。例如,假设我试图找到离我的用户最近的“Pink Bunny Rabbits”。

在某些情况下,我的用户所在的地方我的任何特定类型的企业都不符合 Google Places API 最大搜索半径(20KM,IIRC)。 “你身边没有粉红兔兔”

是否有某种方法可以搜索最近的匹配商家,即使它超出了初始最大搜索范围? “最近的粉红兔兔:30 英里外的某城,IA”

Is Google Places 是用于此辅助搜索的正确 API。

我可以使用哪些后备服务来找到离我的用户最近的“Pink Bunny Rabbit”商店?

【问题讨论】:

【参考方案1】:

嗯,可以进行更大半径的地点搜索。 https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=cruise&key=AddYourOwnKeyHere。 当前搜索覆盖搜索 url 中提供的经纬度周围 500 米的圆圈。最大值为 50000。不幸的是,Google Places API 不会根据用户的当前位置对结果进行排序。您需要手动计算搜索结果中的地点位置与您当前位置之间的距离。

// Calculating the distance
float deltaLat = (currentLocation.lat - place.lat);
float deltaLng = (currentLocation.lng - place.lng);
float distanceInDegree = sqrtf(deltaLat * deltaLat + deltaLng * deltaLng);
float distanceInMeter = distanceInDegree * 4000;
printf("distanceInMeter = %f",distanceInMeter); 

找出距离最短的地方。

【讨论】:

以上是关于查找最近的位置 Google Places API的主要内容,如果未能解决你的问题,请参考以下文章

从 Google Places API 获取地址信息

用于我的 iPhone 应用程序的 Google Places API

Google Places API 中缺少 Google Maps 中的地点

无法获得有关Google Places API的其他详细信息,例如'opening_hours'

在 Google Places API 中嵌入当前位置(经度和纬度)

在 Google Maps Places API 中更改默认文本“输入位置”