geocoder.getFromLocationName gibt nur null
Werde ich aus meinem Kopf für die letzten zwei Tage mit einer IllegalArgumentException
Fehler erhalte ich im Android-code, wenn Sie versuchen zu bekommen-Koordinaten aus einer Adresse, oder sogar umkehren, erhalten Adresse, Längen-und Breitengrad. Dies ist der code, aber ich kann nicht sehen, eine Fehlermeldung. Es ist ein standard-code-snippet, das ist leicht über eine Google-Suche.
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;
}
Diese sind die Berechtigungen aus 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" />
Ich habe die Google-API-Schlüssel deklariert zu: <uses-library android:name="com.google.android.maps" />
Aus der code-snippet oben geocoder
ist nicht null
weder ist die address
oder appContext
, und ich stolpere hier: geocoder.getFromLocationName(strAddress, 5);
Ich habe viel Google Suche und nichts gefunden, was funktionierte, und die wichtigste info, die ich fand ist dies:
Der Geocoder-Klasse erfordert eine back-End-Dienst, die nicht in der core-android-framework.
Sooo, ich bin confuzed jetzt. Was muss ich aufrufen, importieren, hinzufügen im code verwenden.... um diese Arbeit zu machen?
Ich bin über die Google API 2.2, API level 8.
Wenn jemand eine Lösung gefunden hat für dieses, oder ein Zeiger für die Dokumentation, etwas, das ich nicht entdecken, lassen Sie es uns bitte wissen.
InformationsquelleAutor test | 2010-12-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich hatte ein ähnliches problem und festgestellt, dass der Abruf der Geocoder, bis ich ein Ergebnis gearbeitet. Hier ist, wie ich es Tat, so weit Super funktioniert.
können Sie mehr Details?
ich war in der Lage, es zu beheben. ich hatte Kraft geschlossen, die Android maps-App..einmal neu gestartet ich den emulator. es hat gut funktioniert
Gute Lösung - ich setze bei einem Schwellenwert von 10 versuchen nur damit es nicht in eine endlos-Schleife. Wenn alle Stricke reißen, dann habe ich die Maps-API: developers.google.com/maps/documentation/geocoding
Hay @chris, dein code funktioniert genau gut...ich leite Adresse von SearchView auf meine actionBar zu dieser Methode, die u erwähnt. Was ich mich Frage ist, wie kann ich zeigen, Anregungen fro-Adresse rechts unter der Suchleiste, wie google funktioniert.
InformationsquelleAutor pmko
InformationsquelleAutor mahbub_siddique
Hatte das gleiche problem. Pooling hat nicht funktioniert, also habe ich diese verwendet, um den Standort: Geocoding Antworten
Verwenden Sie diese Klasse, um JSONObject der Lage:
Können Sie erstellen und führen die Klasse-Instanz wie folgt:
InformationsquelleAutor Filip
Ausführen von code auf Android 2.0, Es wird funktionieren. Ich hatte das gleiche problem mit kann code. Seine nicht funktioniert in der 2.2, weiß nicht, warum
Frohes Neues Jahr Dir auch!
InformationsquelleAutor Sandy