Android Geocoder getFromLocationName restituisce sempre null

Ho cercato di geocodificare una string per get le coordinate ma il mio programma si blocca sempre perché quando provo a utilizzare getFromLocationName() restituisce null . Sto provando a risolvere questo per ore, ma niente sta funzionando. Ecco il mio codice

 public class MainActivity extends Activity { private GoogleMap mMap; List<Address> addresses; MarkerOptions miami; String myLocation = "Miami,Florida"; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); if (mMap == null) { mMap = ((MapFragment) getFragmentManager().findFragmentById( R.id.map)).getMap(); } if (mMap != null) { Geocoder geocoder = new Geocoder(this); double latitude = 0; double longitude = 0; while(addresses==null){ try { addresses = geocoder.getFromLocationName(myLocation, 1); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } Address address = addresses.get(0); if (addresses.size() > 0) { latitude = address.getLatitude(); longitude = address.getLongitude(); } LatLng City = new LatLng(latitude, longitude); miami = new MarkerOptions().position(City).title("Miami"); mMap.addMarker(miami); mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(City, 15)); } } 

  • android button text e html
  • La sfumatura appare fasciata in un SurfaceView, ma sembra molto liscia in una normale visualizzazione
  • come sovrapporre l'image con text multilinea (il text sarà al centro della canvas)
  • Come eliminare un utente Firebase da Android App?
  • Implementazione della libreria Picasso in visualizzazione griglia personalizzata
  • Firebase RecyclerView non caricamento di nuovi dati
  • Phonegap / Cordova build android node_modules / q / q.js lanciare e;
  • Qual è il modo migliore per get contatti distinti in Android?
  • Come sapere quale livello di API sto costruendo per utilizzare ndk-build?
  • Asmack client di chat per server XMPP
  • L'integrazione di OCR a Camera2
  • android: riconoscimento vocale quali sono le tecnologie disponibili
  • One Solution collect form web for “Android Geocoder getFromLocationName restituisce sempre null”

    Geocoder non restituisce sempre un valore. Puoi provare a submit una richiesta 3 volte in un for loop. Devo essere in grado di tornare alless una volta. In caso contrario, potrebbe essere un problema di connessione o possono essere altri problemi come il server non rispondere alla richiesta. Prova a vedere questi thread:

    Geocoder non restituisce sempre un valore e geocoder.getFromLocationName restituisce solo null

    aggiornato:

    Ho avuto un ciclo di tempo pure, ma ho usato per provarlo massimo per 10 volte. A volte, non è mai tornato nulla anche se era collegato internet. Poi, ho usato questo modo molto più affidabile per get l'indirizzo each volta:

     public JSONObject getLocationInfo() { HttpGet httpGet = new HttpGet("http://maps.google.com/maps/api/geocode/json?latlng="+lat+","+lng+"&sensor=true"); HttpClient client = new DefaultHttpClient(); HttpResponse response; StringBuilder stringBuilder = new StringBuilder(); try { response = client.execute(httpGet); HttpEntity entity = response.getEntity(); InputStream stream = entity.getContent(); int b; while ((b = stream.read()) != -1) { stringBuilder.append((char) b); } } catch (ClientProtocolException e) { } catch (IOException e) { } JSONObject jsonObject = new JSONObject(); try { jsonObject = new JSONObject(stringBuilder.toString()); } catch (JSONException e) { e.printStackTrace(); } return jsonObject; } 

    Ho chiamato come segue:

     JSONObject ret = getLocationInfo(); JSONObject location; String location_string; try { location = ret.getJSONArray("results").getJSONObject(0); location_string = location.getString("formatted_address"); Log.d("test", "formattted address:" + location_string); } catch (JSONException e1) { e1.printStackTrace(); } 

    Spero che questo ti aiuti. Ero anche stanco di fare affidamento su geocoder. Questo ha funzionato per me. Se si sostituisce l'URL con le coordinate lat e longitudine e si vede l'object JSON restituito in un browser web. Vedrai cosa è successo.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.