我开始使用适用于 Java/Android 和 JavaScript 的 Google Places API,并且正在运行一些东西。
我希望能够实现一种“后备”方法,将结果按距离排序返回给用户,但如果在一定半径内没有发现任何有趣的东西(营业地点、机场、购物中心等),然后我会去一个更粗的粒度,并按顺序返回街道交叉口、社区或城市。最好的方法是什么,最好是在一个查询中?
另外,我注意到我可以指定“rankby=distance”,但我不能提供半径,这很不方便。这个限制有什么解决方法吗?
我开始使用适用于 Java/Android 和 JavaScript 的 Google Places API,并且正在运行一些东西。
我希望能够实现一种“后备”方法,将结果按距离排序返回给用户,但如果在一定半径内没有发现任何有趣的东西(营业地点、机场、购物中心等),然后我会去一个更粗的粒度,并按顺序返回街道交叉口、社区或城市。最好的方法是什么,最好是在一个查询中?
另外,我注意到我可以指定“rankby=distance”,但我不能提供半径,这很不方便。这个限制有什么解决方法吗?
我能想到的按设定半径内的距离排序的唯一解决方法是手动处理返回的结果以查看它们的位置是否在您指定的半径内。如果您认为这将是一个有用的功能,我还建议您在此处提交“Places API - 功能请求” 。
您的“后备”方法的一个可能解决方案是,如果Places API 搜索请求返回"status" : "ZERO_RESULTS"
或者如果没有返回的结果落在您想要的半径范围内,您可以使用您的 Places 中的纬度和经度执行Geocoding API 反向地理编码请求API 搜索请求以查找最近的地址。