Я использую API направления облака Google для получения маршрутов между двумя местоположениями. Однако я не могу получить ответ от соединения. Вместо этого я получаю следующую ошибку.
2020-06-20 16:19:11.509 8992-9936/com.example.mindyourroute W/ConnectionTracker: Exception thrown while unbinding
java.lang.IllegalArgumentException: Service not registered: lr@519d7e1
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1602)
at android.app.ContextImpl.unbindService(ContextImpl.java:1693)
at android.content.ContextWrapper.unbindService(ContextWrapper.java:714)
at cg.b(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):1)
at cg.a(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):6)
at ls.A(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):10)
at ld.a(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):3)
at ea.run(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):3)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:457)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at iz.run(:com.google.android.gms.dynamite_measurementdynamite@202115050@20.21.15 (040406-0):6)
мой java код:
public void setDirections(LatLng a, LatLng b){
UrlRequest.Callback callback = new UrlRequest.Callback(){
@Override
public void onRedirectReceived(UrlRequest request, UrlResponseInfo info, String newLocationUrl) throws Exception {
Log.i("redirect_recieved",info.toString());
}
@Override
public void onResponseStarted(UrlRequest request, UrlResponseInfo info) throws Exception {
Log.i("responce_started",info.toString());
}
@Override
public void onReadCompleted(UrlRequest request, UrlResponseInfo info, ByteBuffer byteBuffer) throws Exception {
String result_byte = byteBuffer.toString();
Log.i("result_recieved",result_byte);
}
@Override
public void onSucceeded(UrlRequest request, UrlResponseInfo info) {
Log.i("succeded","result should be out");
}
@Override
public void onFailed(UrlRequest request, UrlResponseInfo info, CronetException error) {
Log.i("failed",error.toString());
}
};
String a_string = String.format("%f,%f",a.latitude,a.longitude);
String b_string = String.format("%f,%f",b.latitude,b.longitude);
String url = String.format("https://maps.googleapis.com/maps/api/directions/json?origin=%s&destination=%s&key=%s",a_string,b_string,getString(R.string.google_maps_key));
CronetProviderInstaller.installProvider(requireContext());
CronetEngine cronetEngine = new CronetEngine.Builder(requireContext()).build();
Executor executor = Executors.newSingleThreadExecutor();
UrlRequest.Builder requestBuilder = cronetEngine.newUrlRequestBuilder(
url, callback, executor);
requestBuilder.build().start();
}
здесь a
и b
- это две широты и долгота. Пожалуйста, помогите мне с этим ...