Dieses Plugin bietet Informationen über das Gerät an den Speicherort, z. B. breiten- und Längengrad. Gemeinsame Quellen von Standortinformationen sind Global Positioning System (GPS) und Lage von Netzwerk-Signale wie IP-Adresse, RFID, WLAN und Bluetooth MAC-Adressen und GSM/CDMA Zelle IDs abgeleitet. Es gibt keine Garantie, dass die API des Geräts tatsächliche Position zurückgibt.
Diese API basiert auf der W3C Geolocation API-Spezifikation, und nur auf Geräten, die nicht bereits eine Implementierung bieten führt.
Warnung: Erhebung und Nutzung von Geolocation-Daten wichtige Privatsphäre wirft. Wie die app benutzt Geolocation-Daten, Ihre app-Datenschutzrichtlinien zu diskutieren, ob es mit allen anderen Parteien und das Niveau der Genauigkeit der Daten (z. B. grob, fein, Postleitzahl, etc..) freigegeben ist. Geolocation-Daten gilt allgemein als empfindlich, weil es den Aufenthaltsort des Benutzers erkennen lässt und wenn gespeichert, die Geschichte von ihren Reisen. Daher neben der app-Privacy Policy sollten stark Sie Bereitstellung einer just-in-Time-Bekanntmachung, bevor die app Geolocation-Daten zugreift (wenn das Betriebssystem des Geräts bereits tun nicht). Diese Benachrichtigung sollte der gleichen Informationen, die vorstehend, sowie die Zustimmung des Benutzers (z.B. durch Präsentation Entscheidungen für das OK und Nein danke). Weitere Informationen finden Sie in der Datenschutz-Guide.
Dieses Plugin definiert eine globale navigator.geolocation
-Objekt (für Plattformen, bei denen es sonst fehlt).
Obwohl das Objekt im globalen Gültigkeitsbereich ist, stehen Features von diesem Plugin nicht bis nach dem deviceready
-Ereignis.
document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() { console.log("navigator.geolocation works well"); }
Dies erfordert Cordova 5.0 + (aktuelle stabile 1.0.0)
cordova plugin add cordova-plugin-geolocation
Ältere Versionen von Cordova können noch über die veraltete Id (veraltete 0.3.12) installieren.
cordova plugin add org.apache.cordova.geolocation
Es ist auch möglich, über Repo Url direkt zu installieren (unstable)
cordova plugin add https://github.com/apache/cordova-plugin-geolocation.git
Gibt das Gerät aktuelle Position an den geolocationSuccess
-Rückruf mit einem Position
-Objekt als Parameter zurück. Wenn ein Fehler vorliegt, wird der Rückruf geolocationError
ein PositionError
-Objekt übergeben.
navigator.geolocation.getCurrentPosition(geolocationSuccess, [geolocationError], [geolocationOptions]);
GeolocationSuccess: der Rückruf, der die aktuelle Position übergeben wird.
GeolocationError: (Optional) der Rückruf, der ausgeführt wird, wenn ein Fehler auftritt.
GeolocationOptions: (Optional) die Geolocation-Optionen.
// onSuccess Callback // This method accepts a Position object, which contains the // current GPS coordinates // var onSuccess = function(position) { alert('Latitude: ' + position.coords.latitude + '\n' + 'Longitude: ' + position.coords.longitude + '\n' + 'Altitude: ' + position.coords.altitude + '\n' + 'Accuracy: ' + position.coords.accuracy + '\n' + 'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '\n' + 'Heading: ' + position.coords.heading + '\n' + 'Speed: ' + position.coords.speed + '\n' + 'Timestamp: ' + position.timestamp + '\n'); }; // onError Callback receives a PositionError object // function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } navigator.geolocation.getCurrentPosition(onSuccess, onError);
Gibt das Gerät aktuelle Position zurück, wenn eine Änderung erkannt wird. Wenn das Gerät einen neuen Speicherort abgerufen hat, führt der geolocationSuccess
-Rückruf mit einer Position
-Objekt als Parameter. Wenn ein Fehler vorliegt, führt der geolocationError
-Rückruf mit einem PositionError
-Objekt als Parameter.
var watchId = navigator.geolocation.watchPosition(geolocationSuccess, [geolocationError], [geolocationOptions]);
GeolocationSuccess: der Rückruf, der die aktuelle Position übergeben wird.
GeolocationError: (Optional) der Rückruf, der ausgeführt wird, wenn ein Fehler auftritt.
GeolocationOptions: (Optional) die Geolocation-Optionen.
navigator.geolocation.clearWatch
, gerade für Änderungen zu stoppen.// onSuccess Callback // This method accepts a `Position` object, which contains // the current GPS coordinates // function onSuccess(position) { var element = document.getElementById('geolocation'); element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' + 'Longitude: ' + position.coords.longitude + '<br />' + '<hr />' + element.innerHTML; } // onError Callback receives a PositionError object // function onError(error) { alert('code: ' + error.code + '\n' + 'message: ' + error.message + '\n'); } // Options: throw an error if no update is received every 30 seconds. // var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { timeout: 30000 });
Optionalen Parametern, um das Abrufen von Geolocation Position
.
{ maximumAge: 3000, timeout: 5000, enableHighAccuracy: true };
EnableHighAccuracy: stellt einen Hinweis, dass die Anwendung die bestmöglichen Ergebnisse benötigt. Standardmäßig versucht das Gerät abzurufen ein Position
mit netzwerkbasierte Methoden. Wenn diese Eigenschaft auf true
erzählt den Rahmenbedingungen genauere Methoden, z. B. Satellitenortung verwenden. (Boolean)
Timeout: die maximale Länge der Zeit (in Millisekunden), die zulässig ist, übergeben Sie den Aufruf von navigator.geolocation.getCurrentPosition
oder geolocation.watchPosition
bis zu den entsprechenden geolocationSuccess
Rückruf führt. Wenn die geolocationSuccess
Rückruf wird nicht aufgerufen, in dieser Zeit die geolocationError
Rückruf wird übergeben ein PositionError.TIMEOUT
Fehlercode. (Beachten Sie, dass in Verbindung mit geolocation.watchPosition
, die geolocationError
Rückruf könnte auf ein Intervall aufgerufen werden alle timeout
Millisekunden!) (Anzahl)
MaximumAge: eine zwischengespeicherte Position, deren Alter nicht größer als die angegebene Zeit in Millisekunden ist, zu akzeptieren. (Anzahl)
Android 2.x-Emulatoren geben ein Geolocation-Ergebnis nicht zurück, es sei denn, die EnableHighAccuracy
-Option auf true
festgelegt ist.
Stoppen Sie, gerade für Änderungen an dem Gerät Speicherort verweist mithilfe des Parameters watchID
.
navigator.geolocation.clearWatch(watchID);
watchPosition
Intervall löschen. (String)// Options: watch for changes in position, and use the most // accurate position acquisition method available. // var watchID = navigator.geolocation.watchPosition(onSuccess, onError, { enableHighAccuracy: true }); // ...later on... navigator.geolocation.clearWatch(watchID);
Enthält Position
koordinaten und Timestamp, erstellt von der Geolocation API.
coords: eine Reihe von geographischen Koordinaten. (Coordinates)
timestamp: Zeitstempel der Erstellung für coords
. (DOMTimeStamp)
Ein Coordinates
-Objekt ist ein Position
-Objekt zugeordnet, die Callback-Funktionen in Anforderungen für die aktuelle Position zur Verfügung steht. Es enthält eine Reihe von Eigenschaften, die die geographischen Koordinaten von einer Position zu beschreiben.
latitude: Latitude in Dezimalgrad. (Anzahl)
longitude: Länge in Dezimalgrad. (Anzahl)
altitude: Höhe der Position in Meter über dem Ellipsoid. (Anzahl)
accuracy: Genauigkeit der breiten- und Längengrad Koordinaten in Metern. (Anzahl)
AltitudeAccuracy: Genauigkeit der Koordinate Höhe in Metern. (Anzahl)
heading: Fahrtrichtung, angegeben in Grad relativ zu den Norden im Uhrzeigersinn gezählt. (Anzahl)
speed: aktuelle Geschwindigkeit über Grund des Geräts, in Metern pro Sekunde angegeben. (Anzahl)
altitudeAccuracy: von Android-Geräten, Rückgabe null
nicht unterstützt.
altitudeAccuracy: von Android-Geräten, Rückgabe null
nicht unterstützt.
Das PositionError
-Objekt wird an die geolocationError
-Callback-Funktion übergeben, tritt ein Fehler mit navigator.geolocation.
Code: einer der vordefinierten Fehlercodes aufgeführt.
Nachricht: Fehlermeldung, die die Informationen über den aufgetretenen Fehler beschreibt.
PositionError.PERMISSION_DENIED
PositionError.POSITION_UNAVAILABLE
PositionError.TIMEOUT
timeout
enthalten geolocationOptions
. Bei Verwendung mit navigator.geolocation.watchPosition
, könnte dieser Fehler wiederholt übergeben werden, zu der geolocationError
Rückruf jedes timeout
Millisekunden.