Comment puis-je trouver la latitude et la longitude de l'adresse?

Je souhaite afficher l'emplacement d'une adresse dans Google Maps.

Comment puis-je obtenir la latitude et la longitude d'une adresse à l'aide de l'API Google Maps?

  • "Android.view.WindowManager $ BadTokenException: Impossible d'ajouter une fenêtre" sur buider.show ()
  • Android Flip ImageView verticalement
  • Comment obtenir l'emplacement du fichier de configuration wifi dans Android
  • Pourquoi ne pas les émulateurs Android standard?
  • Erreur: périphérique hors ligne
  • Android: comment utiliser dip (pixel indépendant de la densité) dans le code?
  • ClassNotFoundException: n'a pas trouvé la classe "android.os.PersistableBundle" Otto Android 5.0
  • Caractères Unicode non affichés dans TextView.setText
  • Android: comment créer un bouton sur Bitmap dynamiquement ou un bouton OVERLAYING?
  • Comment effacer un périphérique Android lorsque l'administrateur du périphérique est désactivé?
  • Android - comment empêcher la mise en page du Web lorsque aucune connexion Internet
  • OnItemClickListener ne lance pas sur Custom ArrayAdapter
  • 7 Solutions collect form web for “Comment puis-je trouver la latitude et la longitude de l'adresse?”

    public GeoPoint getLocationFromAddress(String strAddress){ Geocoder coder = new Geocoder(this); List<Address> address; GeoPoint p1 = null; try { address = coder.getFromLocationName(strAddress,5); if (address==null) { return null; } Address location=address.get(0); location.getLatitude(); location.getLongitude(); p1 = new GeoPoint((double) (location.getLatitude() * 1E6), (double) (location.getLongitude() * 1E6)); return p1; } } 

    strAddress est une chaîne contenant l'adresse. La variable d' address contient les adresses converties.

    Si vous souhaitez placer votre adresse dans la carte google, vous pouvez utiliser immédiatement

     Intent searchAddress = new Intent(Intent.ACTION_VIEW,Uri.parse("geo:0,0?q="+address)); startActivity(searchAddress); 

    OU

    Si vous aviez besoin d'obtenir lat longtemps de votre adresse, utilisez Google Place Api en suivant

    Créez une méthode qui renvoie un JSONObject avec la réponse de l' appel HTTP comme suit

     public static JSONObject getLocationInfo(String address) { StringBuilder stringBuilder = new StringBuilder(); try { address = address.replaceAll(" ","%20"); HttpPost httppost = new HttpPost("http://maps.google.com/maps/api/geocode/json?address=" + address + "&sensor=false"); HttpClient client = new DefaultHttpClient(); HttpResponse response; stringBuilder = new StringBuilder(); response = client.execute(httppost); 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) { // TODO Auto-generated catch block e.printStackTrace(); } return jsonObject; } 

    Passez maintenant JSONObject à la méthode getLatLong () comme suit

     public static boolean getLatLong(JSONObject jsonObject) { try { longitute = ((JSONArray)jsonObject.get("results")).getJSONObject(0) .getJSONObject("geometry").getJSONObject("location") .getDouble("lng"); latitude = ((JSONArray)jsonObject.get("results")).getJSONObject(0) .getJSONObject("geometry").getJSONObject("location") .getDouble("lat"); } catch (JSONException e) { return false; } return true; } 

    J'espère que cela vous aidera et d'autres … !! Je vous remercie..!!

    La solution d'Ud_an avec les API mises à jour

    Remarque : La classe LatLng fait partie de Google Play Services.

    Obligatoire :

     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> <uses-permission android:name="android.permission.INTERNET"/> 

    Mise à jour: si vous avez un SDK cible 23 et plus, assurez-vous de prendre en charge l'autorisation d'exécution pour l'emplacement.

     public LatLng getLocationFromAddress(Context context,String strAddress) { Geocoder coder = new Geocoder(context); List<Address> address; LatLng p1 = null; try { // May throw an IOException address = coder.getFromLocationName(strAddress, 5); if (address == null) { return null; } Address location = address.get(0); location.getLatitude(); location.getLongitude(); p1 = new LatLng(location.getLatitude(), location.getLongitude() ); } catch (IOException ex) { ex.printStackTrace(); } return p1; } 

    Le code suivant fonctionnera pour google 2:

     public void convertAddress() { if (address != null && !address.isEmpty()) { try { List<Address> addressList = geoCoder.getFromLocationName(address, 1); if (addressList != null && addressList.size() > 0) { double lat = addressList.get(0).getLatitude(); double lng = addressList.get(0).getLongitude(); } } catch (Exception e) { e.printStackTrace(); } // end catch } // end if } // end convertAddress 

    Où l'adresse est le String (123 Testing Rd City State zip) que vous souhaitez convertir en LatLng.

    C'est ainsi que vous pouvez trouver la latitude et la longitude de l'endroit où nous avons cliqué sur la carte.

     public boolean onTouchEvent(MotionEvent event, MapView mapView) { //---when user lifts his finger--- if (event.getAction() == 1) { GeoPoint p = mapView.getProjection().fromPixels( (int) event.getX(), (int) event.getY()); Toast.makeText(getBaseContext(), p.getLatitudeE6() / 1E6 + "," + p.getLongitudeE6() /1E6 , Toast.LENGTH_SHORT).show(); } return false; } 

    Ça marche bien.

    Pour obtenir l'adresse de l'emplacement, nous pouvons utiliser la classe de géocoder.

    Une réponse au problème Kandha ci-dessus:

    Il jette le "service java.io.IOException non disponible", j'ai déjà donné ces autorisations et j'inclus la bibliothèque … je peux avoir une vue de la carte … il lance cette IOException au géocodeur …

    Je viens d'ajouter un catch IOException après l'essai et il a résolu le problème

      catch(IOException ioEx){ return null; } 
     Geocoder coder = new Geocoder(this); List<Address> addresses; try { addresses = coder.getFromLocationName(address, 5); if (addresses == null) { } Address location = addresses.get(0); double lat = location.getLatitude(); double lng = location.getLongitude(); Log.i("Lat",""+lat); Log.i("Lng",""+lng); LatLng latLng = new LatLng(lat,lng); MarkerOptions markerOptions = new MarkerOptions(); markerOptions.position(latLng); googleMap.addMarker(markerOptions); googleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng,12)); } catch (IOException e) { e.printStackTrace(); } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.