我正在尝试根据给定的查询获取地点。我实现了以下界面。
@GET("api/place/textsearch/json?key=MY_API_KEY")
Call<PlaceResponse> getNearbyPlacesByText(@Query("query") String query, @Query("location") String location, @Query("radius") int radius);
然后我像这样称呼这个方法
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiInterface service = retrofit.create(ApiInterface.class);
Call<PlaceResponse> callByText = service.getNearbyPlacesByText("psí" + "škola", currentLocation.getLatitude() + "," + currentLocation.getLongitude(), PROXIMITY_RADIUS);
然后我正在检索结果。
callByText.enqueue(new Callback<PlaceResponse>() {
@Override
public void onResponse(Call<PlaceResponse> call, Response<PlaceResponse> response) {
List<Place> places = response.body().getResults();
Log.d(TAG, "Number of places received: " + places.size());
setMarkers(type, places, googleMap, context);
}
@Override
public void onFailure(Call<PlaceResponse> call, Throwable t) {
}
});
但是我得到的结果与给定的查询不匹配(我得到20个位置)。我在Postman中尝试使用网址https://maps.googleapis.com/maps/api/place/textsearch/json?query=psí+škola&location=49.188963,16.532183&radius=50000&key=MY_KEY
我不确定我是否在代码中正确设置了网址。
感谢您的任何建议 我只有8个正确数字的地方。我不确定我是否
答案 0 :(得分:1)
您可以在Retrofit中设置日志记录并检查发送的内容(例如Kotlin中的内容)。
val logging = HttpLoggingInterceptor()
logging.level = HttpLoggingInterceptor.Level.BODY
val httpClient = OkHttpClient.Builder()
httpClient.addInterceptor(logging)
Retrofit.Builder()
.baseUrl(url)
.client(httpClient.build())
.build()
.create(ApiDao::class.java)