我想获取包含给定纬度和经度的高程的json文件(并且还提供api密钥)。我一直在阅读并发现Retrofit是Android中的最佳选择,但我不知道如何指定params。
public interface ServiceApi {
//url format
//"https://maps.googleapis.com/maps/api/elevation/json?locations="
// latitude+","+longitude+"&key="+key;
@GET("")
public void getJSON(Callback<List<JsonElevation>> jsonElevationCallback);
}
答案 0 :(得分:1)
我没有使用Elevations API密钥来测试它,但是使用Retrofit的documentation,这样的事情应该可行。
@GET("/maps/api/elevation/json")
public Call<List<JsonElevation>> getJSON(@Query("locations") String latAndLng,
@Query("key") String key);
然后调用它:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://maps.googleapis.com/")
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.build();
ServiceApi serviceApi = retrofit.create(ServiceApi.class);
String latAndLng = String.format("%f,%f", latitude, longitude);
Call<List<JsonElevation>> elevations = serviceApi.getJSON(latAndLng, key);
elevations.enqueue(); // for asychronous response
//or
elevations.execute(); // for synchronous response