从Android使用Google Elevations Api

时间:2018-01-02 15:45:01

标签: android json retrofit elevation

我想获取包含给定纬度和经度的高程的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);
}

1 个答案:

答案 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