我有以下代码向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;
}
有谁知道为什么?有没有更好的方法来提高准确度?
干杯...
答案 0 :(得分:2)
您指定types=geocode
,而Grand Indonesia, Jakarta的结果似乎反映了商家信息,而不是地址。如果您删除types=geocode
,则会收到与您收到的Google地图结果相同的结果。