Ce plugin fournit des informations sur l‘emplacement de l’appareil, tels que la latitude et la longitude. Les sources habituelles d‘information incluent le Système de Positionnement Global (GPS) et la position déduite de signaux des réseaux tels que l’adresse IP, RFID, les adresses MAC WiFi et Bluetooth et les IDs cellulaires GSM/CDMA. Il n‘y a cependant aucune garantie que cette API renvoie la position réelle de l’appareil.
Cette API est basée sur la Spécification de l'API Geolocation du W3C et s‘exécute uniquement sur les appareils qui n’en proposent pas déjà une implémentation.
Avertissement: collecte et utilisation des données de géolocalisation soulève des questions importantes de la vie privée. La politique de confidentialité de votre application devrait traiter de la manière dont l‘application utilise les données de géolocalisation, si elle les partage avec d’autres parties ou non et définir le niveau de précision de celles-ci (par exemple grossier, fin, restreint au code postal, etc.). Données de géolocalisation sont généralement considéré comme sensibles car elle peut révéler la localisation de l‘utilisateur et, si stocké, l’histoire de leurs voyages. Par conséquent, en plus de la politique de confidentialité de l‘application, vous devez envisager fortement fournissant un avis juste-à-temps, avant que l’application accède aux données de géolocalisation (si le système d‘exploitation de périphérique n’est pas faire déjà). Cette notice devrait contenir les informations susmentionnées, ainsi que permettre de recueillir l‘autorisation de l’utilisateur (par exemple, en offrant les possibilités OK et Non merci). Pour plus d'informations, veuillez vous référer à la section “Guide du respect de la vie privée”.
Ce plugin définit un global navigator.geolocation
objet (pour les plateformes où il est autrement manquant).
Bien que l‘objet est dans la portée globale, les fonctions offertes par ce plugin ne sont pas disponibles jusqu’après la deviceready
événement.
document.addEventListener (« deviceready », onDeviceReady, false) ; function onDeviceReady() {console.log ("navigator.geolocation fonctionne bien");}
Pour cela, cordova 5.0 + (1.0.0 stable actuelle)
cordova plugin add cordova-plugin-geolocation
Anciennes versions de cordova peuvent toujours installer via l'id obsolète (rassis 0.3.12)
Cordova plugin ajouter org.apache.cordova.geolocation
Il est également possible d‘installer directement via l’url de repo (instable)
cordova plugin add https://github.com/apache/cordova-plugin-geolocation.git
Retourne la position actuelle de l'appareil à la geolocationSuccess
rappel avec un Position
objet comme paramètre. Si une erreur se produit, le geolocationError
rappel est passé un PositionError
objet.
navigator.geolocation.getCurrentPosition (geolocationSuccess, [geolocationError], [geolocationOptions]) ;
geolocationSuccess : la fonction callback à laquelle est transmise la position actuelle.
geolocationError : (facultative) la fonction callback s'exécutant si une erreur survient.
geolocationOptions : (facultatives) des préférences de géolocalisation.
onSuccess rappel / / cette méthode accepte un objet de Position, qui contient le / / coordonnées GPS actuel / / var onSuccess = function(position) {alert ('Latitude: ' + position.coords.latitude + « \n » + ' Longitude: ' + position.coords.longitude + « \n » + ' Altitude: ' + position.coords.altitude + « \n » + ' précision: ' + position.coords.accuracy + « \n » + ' Altitude précision: ' + position.coords.altitudeAccuracy + « \n » + ' rubrique: ' + position.coords.heading + « \n » + ' vitesse: ' + position.coords.speed + « \n » + ' Timestamp: ' + position.timestamp + « \n »);} ; onError rappel reçoit un objet PositionError / / function onError(error) {alert ('code: "+ error.code + « \n » + ' message: ' + error.message + « \n »);} navigator.geolocation.getCurrentPosition (onSuccess, onError) ;
Retourne la position actuelle de l‘appareil lorsqu’un changement de position est détecté. Lorsque l‘appareil récupère un nouvel emplacement, le geolocationSuccess
rappel s’exécute avec un Position
objet comme paramètre. Si une erreur se produit, le geolocationError
rappel s'exécute avec un PositionError
objet comme paramètre.
var watchId = navigator.geolocation.watchPosition (geolocationSuccess, [geolocationError], [geolocationOptions]) ;
geolocationSuccess : la fonction callback à laquelle est transmise la position actuelle.
geolocationError : (facultative) la fonction callback s‘exécutant lorsqu’une erreur survient.
geolocationOptions : (facultatives) options de personnalisation de la géolocalisation.
navigator.geolocation.clearWatch
d'arrêter de regarder pour les changements de position.onSuccess rappel / / cette méthode accepte un objet « Position », qui contient / / coordonnées de GPS le courant / / function onSuccess(position) {var element = document.getElementById('geolocation') ; element.innerHTML = ' Latitude: "+ position.coords.latitude + ' < br / >' + ' Longitude:" + position.coords.longitude + ' < br / >' + ' < hr / >' + element.innerHTML ; } / / onError rappel reçoit un objet PositionError / / function onError(error) {alert ('code: ' + error.code + « \n » + "message: ' + error.message + « \n »);} Options : lever une erreur si aucune mise à jour n'est reçu toutes les 30 secondes. var watchID = navigator.geolocation.watchPosition (onSuccess, onError, { timeout: 30000 }) ;
Paramètres optionnels pour personnaliser la récupération de la géolocalisationPosition
.
{ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true } ;
enableHighAccuracy : indique que l‘application nécessite les meilleurs résultats possibles. Par défaut, l’appareil tente de récupérer une Position
à l‘aide de méthodes basées sur le réseau. Définir cette propriété à true
demande à Cordova d’utiliser des méthodes plus précises, telles que la localisation par satellite. (Boolean)
délai d'attente: la longueur maximale de temps (en millisecondes) qui peut passer de l‘appel à navigator.geolocation.getCurrentPosition
ou geolocation.watchPosition
jusqu’à ce que le correspondant geolocationSuccess
rappel s‘exécute. Si geolocationSuccess
n’est pas appelée dans ce délai, le code d'erreur PositionError.TIMEOUT
est transmis à la fonction callback geolocationError
. (Notez que, dans le cas de geolocation.watchPosition
, la fonction callback geolocationError
pourrait être appelée à un intervalle régulier de timeout
millisecondes !) (Number)
maximumAge : accepter une position mise en cache dont l'âge ne dépasse pas le délai spécifié en millisecondes. (Number)
Émulateurs Android 2.x ne pas retournent un résultat de géolocalisation, à moins que le enableHighAccuracy
option est définie surtrue
.
Arrêter de regarder pour les modifications à l‘emplacement de l’appareil référencé par le watchID
paramètre.
navigator.geolocation.clearWatch(watchID) ;
watchPosition
à effacer. (String)Options : suivi des modifications dans la position et utilise le plus / / exacte position méthode d'acquisition disponible. var watchID = navigator.geolocation.watchPosition (onSuccess, onError, { enableHighAccuracy: true }) ; .. plus sur... navigator.geolocation.clearWatch(watchID) ;
Contient Position
coordonnées et timestamp, créé par l'API de géolocalisation.
coords : un ensemble de coordonnées géographiques. (Coordinates)
timestamp : horodatage de la création de coords
. (DOMTimeStamp)
A Coordinates
objet est attaché à un Position
objet qui n‘existe pas de fonctions de rappel dans les requêtes pour la position actuelle. Il contient un ensemble de propriétés qui décrivent les coordonnées géographiques d’une position.
latitude : latitude en degrés décimaux. (Number)
longitude : longitude en degrés décimaux. (Number)
altitude : hauteur de la position en mètres au-dessus de l'ellipsoïde. (Number)
accuracy : niveau de précision des valeurs de latitude et longitude, en mètres. (Number)
altitudeAccuracy : niveau de précision de la valeur d'altitude, en mètres. (Number)
heading : direction du trajet, indiquée en degrés comptés dans le sens horaire par rapport au vrai Nord. (Number)
speed : vitesse au sol actuelle de l'appareil, indiquée en mètres par seconde. (Number)
altitudeAccuracy: ne pas pris en charge par les appareils Android, retournull
.
altitudeAccuracy: ne pas pris en charge par les appareils Android, retournull
.
Le PositionError
objet est passé à la geolocationError
fonction de rappel lorsqu'une erreur se produit avec navigator.geolocation.
code: l‘un des codes d’erreur prédéfinis énumérés ci-dessous.
message : un message d‘erreur détaillant l’erreur rencontrée.
PositionError.PERMISSION_DENIED
PositionError.POSITION_UNAVAILABLE
PositionError.TIMEOUT
timeout
inclus dans geolocationOptions
. Lorsqu’il est utilisé avec navigator.geolocation.watchPosition
, cette erreur pourrait être transmise à plusieurs reprises à la geolocationError
rappel chaque timeout
millisecondes.