IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Android Discussion :

Géolocalisation avec Android


Sujet :

API standards et tierces Android

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Février 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Géolocalisation avec Android
    Sur Android, quelle est la methode qui cherche la distance en kilometere entre p1 et p2?
    Sachant que p1 et p2 sont des objets de type GeoPoint.

  2. #2
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 26
    Points : 17
    Points
    17
    Par défaut
    Salut anwer
    tu peut utiliser ce class:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import com.google.android.maps.GeoPoint; 
     
    public class DistanceCalculator { 
     
       private double Radius; 
     
       // R = earth’s radius (mean radius = 6,371km) 
       // Constructor 
       DistanceCalculator(double R) { 
          Radius = R; 
       } 
     
       public double CalculationByDistance(GeoPoint StartP, GeoPoint EndP) { 
          double lat1 = StartP.getLatitudeE6()/1E6; 
          double lat2 = EndP.getLatitudeE6()/1E6; 
          double lon1 = StartP.getLongitudeE6()/1E6; 
          double lon2 = EndP.getLongitudeE6()/1E6; 
          double dLat = Math.toRadians(lat2-lat1); 
          double dLon = Math.toRadians(lon2-lon1); 
          double a = Math.sin(dLat/2) * Math.sin(dLat/2) + 
          Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * 
          Math.sin(dLon/2) * Math.sin(dLon/2); 
          double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); 
          return Radius * c; 
       } 
    }

  3. #3
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Tu veux la distance "à vol d'oiseaux" ou la distance réelle en passant par des routes ?

  4. #4
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut
    Citation Envoyé par MrDuChnok Voir le message
    Tu veux la distance "à vol d'oiseaux" ou la distance réelle en passant par des routes ?

    Une tres bonne remarque!!

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    Je découvre aussi ANDROID dans ses aspects liés à l'exploitation du GPS et je crois rêver ... tant il me semble avoir dû faire les choses au marteau et au burin ... avant ANDROID.

    Il faut aller voir de près la classe Location et toutes ses méthodes qui permettent de tout faire très facilement ... en oubliant les coordonnées sphériques !

    c'est, par exemple, ici :
    http://developer.android.com/referen.../Location.html

    Voir en particulier :
    -> bearingTo(Location dest)
    Returns the approximate initial bearing in degrees East of true North when traveling along the shortest path between this location and the given location.
    -> distanceBetween(double startLatitude, double startLongitude, double endLatitude, double endLongitude, float[] results)
    Computes the approximate distance in meters between two locations, and optionally the initial and final bearings of the shortest path between them.

    -> distanceTo(Location dest)
    Returns the approximate distance in meters between this location and the given location.

Discussions similaires

  1. Réponses: 3
    Dernier message: 17/02/2017, 21h18
  2. Réponses: 15
    Dernier message: 25/03/2011, 13h41
  3. Commencer avec Android
    Par Ibn Rochod dans le forum Android
    Réponses: 7
    Dernier message: 20/10/2009, 10h24
  4. Réponses: 0
    Dernier message: 24/07/2009, 13h02
  5. Réponses: 0
    Dernier message: 24/07/2009, 13h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo