Ich gehe die letzten zwei Tage mit einem IllegalArgumentException
Fehler aus dem Kopf, den ich in Android-Code erhalte, wenn ich versuche, Koordinaten aus einer Adresse zu bekommen, oder sogar umgekehrt, Adresse außerhalb der geografischen Länge und Breite. Dies ist der Code, aber ich kann keinen Fehler sehen. Es ist ein Standard-Code-Snippet, das bei einer Google-Suche leicht gefunden wird.geocoder.getFromLocationName gibt nur null zurück
public GeoPoint determineLatLngFromAddress(Context appContext, String strAddress) {
Geocoder geocoder = new Geocoder(appContext, Locale.getDefault());
GeoPoint g = null;
try {
System.out.println("str addres: " + strAddress);
List<Address> addresses = geocoder.getFromLocationName(strAddress, 5);
if (addresses.size() > 0) {
g = new GeoPoint(
(int) (addresses.get(0).getLatitude() * 1E6),
(int) (addresses.get(0).getLongitude() * 1E6)
);
}
} catch (Exception e) {
throw new IllegalArgumentException("locationName == null");
}
return g;
}
Dies sind die Berechtigungen von manifest.xml Datei:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
habe ich den Google-API-Schlüssel zu erklärt: <uses-library android:name="com.google.android.maps" />
Aus dem Codeausschnitt oben, geocoder
ist nicht null
, weder ist die address
oder appContext
, und ich stolpere hier: geocoder.getFromLocationName(strAddress, 5);
habe ich eine Menge von Google Suche und fand nichts, das funktionierte, und die wichtigsten Informationen fand ich, ist dies:
Die Geocoder Klasse erfordert einen Back-End-Dienst, der nicht im Kern Android-Framework enthalten ist.
Sooo, ich bin jetzt verwirrt. Was muss ich aufrufen, importieren, hinzufügen, im Code verwenden .... damit das funktioniert? Ich benutze Google API 2.2, API Level 8. Wenn jemand eine Lösung dafür gefunden hat, oder ein Zeiger für die Dokumentation, etwas, das ich nicht entdeckt habe, lass es uns wissen.
Ich werde es mit Android2.0 versuchen, danke.Hoffentlich wird es funktionieren, wenn ja, werden Sie wissen lassen. Frohes neues Jahr! – test
Frohes neues Jahr auch Sie! – Sandy