Google 放置 API 返回具有指定关键字的零结果

Google Places API returning zero-results with specified keyword

我目前正在开发一个 Android 应用程序,该应用程序 returns 最接近用户位置的地方符合他的指定偏好(披萨、咖啡、酒吧等)。为此,我在 Google 个位置 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,关键字 = "pizza",这是为了查找蒙特利尔附近现在营业的所有披萨店。

当我对 API 执行该查询时,我总是返回 ZERO_RESULTS 状态。我之前使用过 radius 字段,但后来阅读了这个 question and answer on Whosebug 并且似乎在查询中使用 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

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