【问题标题】:Google Places API returning zero-results with specified keywordGoogle Places API 返回具有指定关键字的零结果
【发布时间】:2015-04-22 17:09:59
【问题描述】:

我目前正在开发一个 Android 应用程序,该应用程序可以返回与用户指定的偏好(比萨、咖啡、酒吧等)最接近的位置。为此,我在 Google Places API 中使用了Nearby Search Requests。这就是我构建 HTTP 请求的方式:

public String createRequestURL() {
    String requestURL = "";

    if ((googleApiKey != "") && (lat <= MAX_GOOGLE_LAT) && (lat >=  MIN_GOOGLE_LAT)
            && (lng <= MAX_GOOGLE_LNG) && (lng >= MIN_GOOGLE_LNG)) {
        requestURL += "https://maps.googleapis.com/maps/api/place/nearbysearch/json?";
        requestURL += "location=" + lat + "," + lng;
        requestURL += "&rankby=distance";
        requestURL += "&keyword=" + keyword;
        requestURL += "&opennow";
        requestURL += "&key=" + googleApiKey;
    }

    return requestURL;
}

我正在尝试执行的测试查询是 lat = 45.5017, lng = 73.5673, keyword = "pizza",即查找蒙特利尔附近现在开放的所有披萨店。

当我对该 API 执行该查询时,我一直得到 ZERO_RESULTS 状态。我以前使用过radius 字段,但后来读过这个question and answer on stackoverflow,似乎在查询中使用rankby,然后删除我的应用程序中比X 米更远的所有查询响应更适合我想要的我的应用要做。

为什么我返回的是ZERO_RESULTS 状态,而不是我所在位置附近的实际披萨、咖啡、酒吧等场所?


编辑:

我也尝试过以下请求:

public String createRequestURL() {
    String requestURL = "";

    if ((googleApiKey != "") && (lat <= MAX_GOOGLE_LAT) && (lat >=  MIN_GOOGLE_LAT)
            && (lng <= MAX_GOOGLE_LNG) && (lng >= MIN_GOOGLE_LNG)) {
        requestURL += "https://maps.googleapis.com/maps/api/place/nearbysearch/json?";
        requestURL += "location=" + lat + "," + lng;
        requestURL += "&rankby=distance";
        requestURL += "&types=food";
        requestURL += "&key=" + googleApiKey;
    }

    return requestURL;
}

这个简单的请求仍然返回状态ZERO_RESULTS。

【问题讨论】:

  • 您是否尝试过删除诸如opennow 和keyword 之类的参数,并提供一个您可以确定附近有事情发生的位置?我认为这可能是一个很好的第一步,可以确保最基本的查询一切正常。
  • @AlvaroSantisteban 我尝试删除 opennow,并且从 API 返回相同的 ZERO_RESULTS 状态。不幸的是,当使用rankby= 字段时,我无法删除keyword,因为它是必需的(或者types 或name)。
  • 如果您没有输入错误。您可能想说蒙特利尔的 lng = -73.5673
  • 天哪,谢谢,这确实是问题所在。您可以将其作为答案,我将选择它作为官方答案。
  • 另外,如果您要去巴尔喀什湖畔游览,周围没有比萨饼店,您不妨自备。

标签: android google-api google-places-api


【解决方案1】:

将 lng = -73.5673 更改为蒙特利尔。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多