从Google Place Android API读取错误

我开发了一个应用程序,与谷歌地方api交互,以搜索用户附近的咖啡馆 . 为了我的应用目的,我希望将半径设置为一个非常小的值..可能是20到50米 . 目前我的应用程序正在运行,但它的工作方式不应该如此 . 在我的应用程序中,我将半径设置为350米 . 所以实际上它应该归还我在350米范围内的咖啡馆名单 . 然而,即使星巴克是650米(道路距离)和500米(直线距离),我的应用程序仍会在此结果集中显示星巴克 . 我想知道应该怎么做才能得到正确的结果 . 目前我正在使用GPS . gps和网络服务的组合会为我提供更好的阅读吗?

public PlacesList search(double latitude, double longitude, double radius, String types)
throws Exception {

    this._latitude = latitude;
    this._longitude = longitude;
    this._radius = radius;

回答(1)

2 years ago

此问题与Android无关,而与Google Places API无关 .

你在使用地方搜索或文字搜索吗?他们俩都有关于位置偏差的评论

text search:

“您可以通过传递位置和半径参数将结果偏向指定的圆圈 . 这将指示Place服务更喜欢在该圆圈内显示结果;可能仍会显示定义区域之外的结果 . ”

place search:

“距离 . 此选项按距离指定位置的距离按升序对结果进行排序 . 按距离排序结果将设置固定的搜索半径为50km . 需要一个或多个关键字,名称或类型 . ”