Geolocation ist eine Web-API unter dem HTML5-Standard. Sie können damit die aktuellen Standortinformationen (Koordinaten) des Geräts abrufen. Diese API verfügt über drei Methoden: getCurrentPosition Die verbleibenden zwei Methoden erfordern eine gemeinsame Verwendung!
Anwendung:Überprüfung der Browserkompatibilität:
Die API wird über das navigator.geolocation-Objekt veröffentlicht. Nur wenn dieses Objekt vorhanden ist, kann sein Geolokalisierungsdienst wie folgt verwendet werden:
if (navigator.geolocation) { // Positionierungscode wird hier geschrieben} else { Alert('Geolocation wird in Ihrem Browser nicht unterstützt')}
Ermitteln Sie den aktuellen Standort des Benutzers:
Verwenden Sie die Methode getCurrentLocation, um die Standortinformationen des Benutzers abzurufen. Diese Methode verfügt über drei Parameter:
Parameterliste | Typ | veranschaulichen |
handleSuccess | Funktion | Rufen Sie die Funktion handleSuccess bei Erfolg auf |
handleError | Funktion | Rufen Sie die Funktion handleError auf, wenn ein Fehler auftritt |
Optionen | Objekt | Initialisierungsparameter |
// Initialisierungsparameter const options = { // Hohe Genauigkeit: true / false enableHighAccuracy: true, // Maximale Zeit zum Warten auf Antworteinheit: Millisekunden Timeout: 5 * 1000, // Der längste Cache-Speicherort, den die Anwendung zu akzeptieren bereit ist Zeit MaximumAge: 0}// Erfolgreiche Rückruffunktion: Daten enthalten Standortinformationen const handleSuccess = data => console.log(data)// Fehlerhafte Rückruffunktion: Fehler enthält Fehlerinformationen const handleError = Fehler => console.log(error)if (navigator.geolocation) { // Der Positionierungscode wird hier geschrieben navigator.geolocation.getCurrentPosition(handleSuccess, handleError, Optionen)} else { Alert('Geolocation wird in Ihrem Browser nicht unterstützt') }
Hier ist der Code mit weiteren Details:
const handleSuccess = data => { const { coords, // Zeitstempel der Standortinformationen // Zeitstempel, wenn Standortinformationen erfolgreich abgerufen wurden} = data const { precision, // Genauigkeit des zurückgegebenen Ergebnisses (Meter) Höhe, // Relativ zur Horizontalen plane Altitude heightAccuracy, // Gibt die Höhengenauigkeit (Meter) zurück, // Die Bewegungsrichtung des Hostgeräts, im Uhrzeigersinn vom nördlichen Breitengrad, // Breitengrad, Längengrad, // Längengrad, Geschwindigkeit // Die Fahrgeschwindigkeit des Geräts} = coords // Drucken Sie es aus und sehen Sie sich die Konsole console.log('timestamp =', timestamp) console.log('accuracy =', precision) console.log('altitude =', height) an .log( 'altitudeAccuracy =', heightAccuracy) console.log('heading =', heading) console.log('latitude =', width) console.log('longitude =', longitude) console.log('speed =', speed)}const handleError = error => { switch (error.code) { case 1: console.log('Standortdienstanforderung abgelehnt') break case 2: console.log(' The Standortinformationen können vorübergehend nicht abgerufen werden') break case 3: console.log('Timeout to get information') break case 4: console.log('Unknown error') break }}const opt = { // Hohe Genauigkeit: true / false enableHighAccuracy: true, // Maximale Zeit zum Warten auf eine Antwort Einheit: Millisekunden Timeout: 5 * 1000, // Das maximale Alter des Cache-Speicherorts, den die Anwendung zu akzeptieren bereit ist. MaximumAge: 0} if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(handleSuccess , handleError, opt) } else { warning('Geolocation wird in Ihrem Browser nicht unterstützt')}
Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Studium aller hilfreich ist. Ich hoffe auch, dass jeder das VeVb Wulin Network unterstützt.