phonegap: wie um zu überprüfen, ob gps aktiviert ist
Ich zeigen möchte, die Warnmeldung "Bitte schalten Sie Ihr GPS".
Wie bekomme ich GPS-status mit phonegap?
Benutzt habe ich folgenden code, aber ich bekomme keine Warnmeldung angezeigt, wenn GPS ausgeschaltet ist. Stattdessen passiert nichts.
<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
//Wait for device API libraries to load
//
document.addEventListener("deviceready", onDeviceReady, false);
//device APIs are available
//
function onDeviceReady() {
var test= navigator.geolocation.getCurrentPosition(onSuccess, onError);
}
//onSuccess Geolocation
//
function onSuccess(position) {
var element = document.getElementById('geolocation');
element.innerHTML = 'Latitude: ' + position.coords.latitude + '<br />' +
'Longitude: ' + position.coords.longitude + '<br />' +
'Altitude: ' + position.coords.altitude + '<br />' +
'Accuracy: ' + position.coords.accuracy + '<br />' +
'Altitude Accuracy: ' + position.coords.altitudeAccuracy + '<br />' +
'Heading: ' + position.coords.heading + '<br />' +
'Speed: ' + position.coords.speed + '<br />' +
'Timestamp: ' + position.timestamp + '<br />';
}
//onError Callback receives a PositionError object
//
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
</script>
</head>
<body>
<p id="geolocation"> Finding geolocation...</p>
</body>
</html>
InformationsquelleAutor user2899728 | 2016-02-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, wir reden hier nur über die Android-Plattform nur als @Jörg richtig sagt, können Sie cordova.plugins.Diagnose um zu überprüfen, ob GPS aktiviert ist, mit
isGpsLocationEnabled()
:Wenn das Ergebnis ist, dass das GPS ausgeschaltet ist, können Sie entweder wechseln Sie den Benutzer, um den Speicherort auf der Seite Einstellungen manuell aktivieren GPS:
Oder, zusätzlich, Sie könnte verwenden cordova-plugin-Wunsch-Standort-Genauigkeit auf Anfrage hohe Genauigkeit Position-Modus (D. H. GPS) direkt aus der app. Dies wird zeigen Sie einen nativen dialog bestätigen und, wenn der Benutzer zustimmt, wird das GPS automatisch aktiviert:
Ich glaube nicht, verwenden Sie Phonegap Build (ich Baue lokal), aber ich wäre daran interessiert zu wissen, was der Fehler ist und ob ich es beheben kann. Ich wäre dankbar, wenn Sie öffnen könnte ein Problem auf der plugin ' s github-repo, und fügen Sie die log-Ausgabe von Phonegap Build mit dem Fehler details.
Bitte überprüfen Ausgabe von github.com/dpa99c/cordova-plugin-request-location-accuracy/...
iOS unterscheidet nicht zwischen hoch-Genauigkeit (GPS) oder low-Genauigkeit(Netzwerk) - es ist einfach "Location". Sie können die Diagnose-plugin zu überprüfen, isLocationEnabled() und wenn nicht, das beste, was wir tun können, ist switchToSettings, um die Benutzer manuell aktivieren.
Hinweis: es ist möglich, nativ invoke solchen dialog auf iOS durch das anfordern einer Position, aber das ist etwas cordova-plugin-geolocation derzeit nicht unterstützt - siehe dieses Problem
InformationsquelleAutor DaveAlden
Die Antwort auf Ihre Frage ist unten.
Sie nicht kontrollieren können *wenn gps aktiviert ist*Sie können eine Zeitüberschreitung und bekomme die timeout.
Sie können dies tun, indem die
timeout
parameter in der geolocationoptions parameter. (welches Sie nicht benutzt)Aus der Dokumentation
navigator.geolocation.getCurrentPosition
odergeolocation.watchPosition
bis die entsprechendengeolocationSuccess
callback ausgeführt wird. Wenn diegeolocationSuccess
callback wird nicht aufgerufen, in dieser Zeit, diegeolocationError
Rückruf wird übergeben einPositionError.TIMEOUT
Fehler-code. (Beachten Sie, dass, wenn verwendet, in Verbindung mitgeolocation.watchPosition
, diegeolocationError
callback aufgerufen werden konnte, die auf einem Intervall alletimeout
Millisekunden!) (Anzahl)WARTEN, ICH WAR FALSCH
Gibt es jetzt ein plugin, das überprüft, um zu sehen, ob das GPS eingeschaltet ist.
In der Tat, mehr als eine.
NEUES UPDATE BEANTWORTEN.
wenn die Antwort Ihr Problem gelöst hat, könnte Sie prüfen, markieren Sie die Antwort 'akzeptiert'.
können Sie bitte vorschlagen, wie kann ich die trigger eine gps-Einstellung popup, so dass Benutzer können es auf in-app ?
Haben Sie getestet, beide plugins? Sie hat nicht für mich arbeiten. Also ich versuche, um den richtigen Weg, um Diagnose-plugin.
InformationsquelleAutor JesseMonroy650
Der beste Weg, um zu überprüfen, ob GPS, Wifi, ... aktiviert ist, ist dieses plugin benutzen:
https://www.npmjs.com/package/cordova.plugins.diagnostic
Mit Hilfe dieses plugins können Sie überprüfen, eine Menge von Funktionen, und Sie können schalten Sie die Benutzer auf die Einstellungen.
InformationsquelleAutor Joerg