使用带有textsearch查询的Google Places API并使用Spaces传递位置名称时应用崩溃

时间:2016-11-09 10:53:00

标签: android google-places-api

创建网址的代码:

EditText editText = (EditText) findViewById(R.id.editText);

String Destin = editText.getText().toString();


StringBuilder googlePlacesUrl = new StringBuilder("https://maps.googleapis.com/maps/api/place/textsearch/json?");
    //googlePlacesUrl.append(name);
    googlePlacesUrl.append("key=myKey&query=");
    googlePlacesUrl.append(name);

=========================

登录失败: java.io.FileNotFoundException:https://maps.googleapis.com/maps/api/place/textsearch/json?key=myKey&query=Place_name street

此外,成功获取位置:name = place_name,即没有空格  https://maps.googleapis.com/maps/api/place/textsearch/json?key=myKey&query=Place_name

3 个答案:

答案 0 :(得分:3)

使用UrlEncoder.encode(name)对查询字符串进行编码。这将用%20替换空格。

(另见:https://stackoverflow.com/a/3286128/2994

答案 1 :(得分:1)

从中下载Google Place API的示例项目 Google Place API Sample

...... Jalsa kar bhai

答案 2 :(得分:0)

执行请求时,无论是获取还是发布,空间在url中都不起作用。 如果url包含空格,则必须在unicode中对空间进行编码,然后才能使用。 为此

  

如果地名有空格,则应替换为'%20'   例如。地名:英国然后

placeName = etPlaceName.getTExt().toString();
placeName = placeName.replace(" ","%20");
  

在网址中使用此地名以获得结果...........