Comment obtenir la latitude et la longitude actuelles de l'appareil mobile sous Android à l'aide des outils de localisation?
la source
Comment obtenir la latitude et la longitude actuelles de l'appareil mobile sous Android à l'aide des outils de localisation?
Utilisez le LocationManager
.
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
double longitude = location.getLongitude();
double latitude = location.getLatitude();
L'appel à getLastKnownLocation()
ne bloque pas - ce qui signifie qu'il reviendra null
si aucune position n'est actuellement disponible - donc vous voudrez probablement jeter un oeil à passer a LocationListener
à la requestLocationUpdates()
méthode à la place, ce qui vous donnera des mises à jour asynchrones de votre emplacement.
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
longitude = location.getLongitude();
latitude = location.getLatitude();
}
}
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 2000, 10, locationListener);
Vous devrez donner l' ACCESS_FINE_LOCATION
autorisation à votre application si vous souhaitez utiliser le GPS.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Vous pouvez également ajouter l' ACCESS_COARSE_LOCATION
autorisation lorsque le GPS n'est pas disponible et sélectionnez votre fournisseur de localisation avec la getBestProvider()
méthode .
Voici la classe
LocationFinder
pour trouver la position GPS. Cette classe appelleraMyLocation
, ce qui fera l'affaire.EmplacementFinder
Ma position
la source
Les
google
choses changent très souvent: aucune des réponses précédentes n'a fonctionné pour moi.basé sur cette formation google, voici comment vous le faites en utilisant
cela nécessite la configuration des services Google Play
Classe d'activité
usage
dans ton activité
Et cette méthode
la source
vous pouvez obtenir la latlng actuelle en utilisant ceci
»
»
la source
Les solutions ci-dessus sont également correctes, mais un certain temps, si l'emplacement est nul, l'application plante ou ne fonctionne pas correctement. La meilleure façon d'obtenir la latitude et la longitude d'Android est:
la source
Le meilleur moyen est
Ajouter un fichier manifeste d'autorisation
Ensuite, vous pouvez obtenir la localisation GPS ou si la localisation GPS n'est pas disponible, cette fonction renvoie la localisation RÉSEAU
la source
Mise à jour 2020: Utilisation de Kotlin Coroutine pour obtenir la latitude, la langue et l'adresse de l'appareil
C'est une vieille question et la plupart des réponses sont dépassées. Voici comment je fais mes applications maintenant:
Cette classe aide à suivre l'emplacement de l'appareil et à renvoyer la liste des adresses de l'appareil à l'aide du géocodage. Mettez-le dans une classe util
Ajouter des chaînes pour la boîte de dialogue d'alerte au cas où le GPS est désactivé
Ajoutez ces autorisations dans votre manifeste Android et demandez-les au démarrage de l'application
Usage
Implémenter
DeviceLocationListener
dans votreActivity/Fragment
classeIgnorer le
onDeviceLocationChanged
rappel. Vous obtiendrez l'emplacement actuel dansonDeviceLocationChanged
Pour commencer le suivi, créez un
DeviceLocationTracker
objet dans laonCreate
méthode de votre. Passez leActivity
comme Contexte et ceci commeDeviceLocationListener
.Voilà, vous allez maintenant commencer à obtenir la mise à jour de l'emplacement
onDeviceLocationChanged
.la source