Android Google地图+放置搜索结果

时间:2013-11-11 02:58:10

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

我有以下代码向Google发送有关特定位置的查询。

我不明白的是,如果我在谷歌地图上输入以下位置(通过浏览器)

“Grand Indonesia,Jakarta”

返回正确的结果。

但是,在代码上使用类似的关键字会返回不同的结果。

private String getPlacesUrl(String qry){

    try {
        qry = "input=" + URLEncoder.encode(qry, "utf-8");
    } catch (UnsupportedEncodingException e1) {
        e1.printStackTrace();
    }

    // Sensor enabled
    String sensor = "sensor=false";

    // place type to be searched
    String types = "types=geocode";

    // Country
    String country = "components=country:id";

    // Building the parameters to the web service
    String parameters = qry+"&"+types+"&"+sensor+"&"+mKey+"&"+country;

    // Output format
    String output = "json";
    // Building the url to the web service
    String url = "https://maps.googleapis.com/maps/api/place/autocomplete/"+output+"?"+parameters;
    return url;
}

有谁知道为什么?有没有更好的方法来提高准确度?

干杯...

1 个答案:

答案 0 :(得分:2)

您指定types=geocode,而Grand Indonesia, Jakarta的结果似乎反映了商家信息,而不是地址。如果您删除types=geocode,则会收到与您收到的Google地图结果相同的结果。