谷歌的地方api,想要到最近的位置

您好我想使用google place api搜索最近的位置....

来自https://developers.google.com/places/documentation/supported_types我在我的代码中使用了类型来搜索最近的地方....

代码如下

try {

            double radius = 5000; // 10000 meters

            // get nearest places
            nearPlaces = googlePlaces
                    .search(gps.getLatitude(), gps.getLongitude(), radius,
                            "sublocality|sublocality_level_4|sublocality_level_5|sublocality_level_3|sublocality_level_2|sublocality_level_1|neighborhood|locality|sublocality");

        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

但找不到最近的地方

就好像我在“ San Diego, CA, USA ”然后我想获得结果一样

Gaslamp/Downtown, Pacific Beach, Ocean Beach, Uptown, Hillcrest, Mission Valley, Fashion Valley, North Park,

但不是这个,我只得到两个 Value

Mission Valley East, Serra Mesa

所以任何人都可以帮助我 type 我必须通过,所以我可以得到像上面的结果,而不是低于结果

回答(3)

2 years ago

我的上一个答案被主持人删除,原因不明,我正在重新发布一些更多的上下文,因为它是目前正确的答案:

您似乎正在尝试返回附近的地理位置(支持的地点类型中的second list) . 遗憾的是,Places API并非专为此设计,它旨在返回附近机构的列表(支持的地点类型中的first list)和最多两个 localitypolitical 类型的结果,以帮助识别您正在执行的区域地方搜索请求 .

这在文档中说明:https://developers.google.com/places/documentation/search#PlaceSearchResponses

“results”包含一系列Places,其中包含每个 . 有关这些结果的信息,请参阅位置搜索结果Places API每个查询最多返回20个 Build 结果 . 此外,可以返回政治结果,用于识别请求的区域 .

如果您按地理位置类型(如 localitypolitical )键入过滤地方搜索请求,您将过滤掉 Build 结果,只留下区域标识结果 .

Places API - 返回附近地区的功能请求已在此处提交:http://code.google.com/p/gmaps-api-issues/issues/detail?id=4434

如果您认为这将是一个有用的功能,请确保您的明星请求让我们知道您有兴趣看到它添加 .

2 years ago

双半径= 5000是5公里,仅3英里多 . 如果增加半径,则应返回更多位置

2 years ago

你应该考虑到最大50公里的距离,有不同的类型如下: Build ,住宿,水疗中心,酒吧,教堂,place_of_worship等 .