0

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

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

“大印度尼西亚,雅加达”

它返回正确的结果。

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

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;
}

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

干杯...

4

1 回答 1

2

您指定的是Grand Indonesia, Jakartatypes=geocode的结果似乎反映的是商家信息,而不是地址。如果您删除,您将收到与您收到的谷歌地图结果相同的结果。types=geocode

于 2013-11-11T04:15:47.533 回答