Pracując nad projektem, który pobiera adres z bazy danych.
Z tych adresów i uzyskać długość i szerokość geograficzną i przypiąć je na mapach Google działalności.
Używam tej metody, aby uzyskać długość i szerokość geograficzną z adresu:
public LatLng getLocationFromAddress(Context context, String inputtedAddress) {
Geocoder coder = new Geocoder(context);
List<Address> address;
LatLng resLatLng = null;
try {
// May throw an IOException
address = coder.getFromLocationName(inputtedAddress, 5);
if (address == null) {
return null;
}
if (address.size() == 0) {
return null;
}
Address location = address.get(0);
location.getLatitude();
location.getLongitude();
resLatLng = new LatLng(location.getLatitude(), location.getLongitude());
} catch (IOException ex) {
ex.printStackTrace();
}
return resLatLng;
Aż 2 dni temu, dał mi 164 poprawnych coordenates od 285 adresów. Niektóre adresy dał długość i szerokość geograficzną null dla jakiegoś powodu.
Bez zmiany kodu, teraz pojawia się następujący błąd przez pierwsze 8-10 wywołań geokodera:
W/System.err: java.io.IOException: Timed out waiting for response from server
W/System.err: at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
Po tym, gdy reszta dać ten błąd:
W/System.err: java.io.IOException: RPC failed with status 102
at android.location.Geocoder.getFromLocationName(Geocoder.java:178)
Dokładna linia, która daje błąd jest:
address = coder.getFromLocationName(inputtedAddress, 5);
EDYTOWAĆ:
Po kilka bada się dowiedziałem, że klasa Geocoder.java zawiera błędy, brakuje kilka sposobów:
Czy ponowne zainstalowanie systemu Android pracownia?














