use*_*684 1 android json google-places-api
我正在使用谷歌地方API和解析我使用JSON,但这一行
JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
request.addParser(parser);
Run Code Online (Sandbox Code Playgroud)
已弃用.有没有办法解决或任何替代方式?
这是功能:
public Placeslist search(double latitude, double longitude, double radius, String types)
throws Exception {
try {
HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);
HttpRequest request = httpRequestFactory
.buildGetRequest(new GenericUrl(PLACES_SEARCH_URL));
request.getUrl().put("key", API_KEY);
request.getUrl().put("location", _latitude + "," + _longitude);
request.getUrl().put("radius", _radius);
request.getUrl().put("sensor", "false");
if(types != null)
request.getUrl().put("types", types);
Placeslist list = request.execute().parseAs(Placeslist.class);
// Check log cat for places response status
Log.d("Places Status", "" + list.status);
return list;
} catch (HttpResponseException e) {
Log.e("Error:", e.getMessage());
return null;
}
}
// Creating http request Factory
public static HttpRequestFactory createRequestFactory(
final HttpTransport transport) {
return transport.createRequestFactory(new HttpRequestInitializer() {
public void initialize(HttpRequest request) {
GoogleHeaders headers = new GoogleHeaders();
headers.setApplicationName("Google-Places-Test");
request.setHeaders(headers);
JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
request.addParser(parser);
}
});
}
Run Code Online (Sandbox Code Playgroud)
似乎版本1.11中不推荐使用类JsonHttpParser和方法HttpRequest.有关详细信息,请参阅不推荐使用的列表.
所以代替:
JsonHttpParser parser = new JsonHttpParser(new JacksonFactory());
request.addParser(parser);
Run Code Online (Sandbox Code Playgroud)
你现在有:
JsonObjectParser parser = new JsonObjectParser(new JacksonFactory());
request.setParser(parser);
Run Code Online (Sandbox Code Playgroud)
并将您的导入更改为:
import com.google.api.client.json.JsonObjectParser;
Run Code Online (Sandbox Code Playgroud)
编辑:我测试了这个,它适用于我.
| 归档时间: |
|
| 查看次数: |
849 次 |
| 最近记录: |