Wie, um GPS-Standort sofort in Xamarin.Formen?
Ich bin die Erfassung der Latitude & Länge auf Listview_ItemTapped
mithilfe der Geolocator
plugin, um GPS-Standort in xamarin.Formen.
Aber es dauert durchschnittlich mehr als 15 Sekunden zum erfassen von Lage. Gibt es eine Möglichkeit, um Lage sofort.
if (CrossGeolocator.Current.IsGeolocationEnabled == false)
{
await DisplayAlert("Notification", "Geolocation is Unavailable ", "Ok");
}
else
{
Application.Current.Properties["LATITUDE"] = null;
Application.Current.Properties["LONGITUDE"] = null;
var locator = CrossGeolocator.Current;
//locator.DesiredAccuracy = 50;
var position = await locator.GetPositionAsync(timeoutMilliseconds: 50000);
Application.Current.Properties["LATITUDE"] = position.Latitude;
Application.Current.Properties["LONGITUDE"] = position.Longitude;
await Navigation.PushAsync(new RetailerDetailsPage(), false);
}
Ich habe versucht, durch entfernen locator.DesiredAccuracy = 50;
aber irgendwann wieder, es funktioniert sofort & manchmal auch nicht.
InformationsquelleAutor Ganesh Parikh | 2016-05-07
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, können Sie eine schnellere Antwort, aber es hängt auf Ihre Anforderungen.
Die lange Antwort geht es darum zu verstehen, dass jedes Gerät, OS & Modell, die Genauigkeit angefordert wird, werden die GPS-Zeit der übernahme Ihrer aktuellen physischen Umgebung (indoor, outdoor, physikalische Abschattung von GPS-Satelliten, ...), usw... alle beeinflussen, wie lange es dauert, um ein vollständiges GPS-Antwort zurück.
Während die Xamarin.Plugin
Geolocator
ist großartig und ich benutze es die ganze Zeit, es nicht den Zugang zu all den verschiedenen Plattform-spezifischen Standort-Funktionen.Auf iOS könnten Sie die
RequestLocation
auf CoreLocation dem Apple beschreibt, wie "a quick fix" auf den Standort des Benutzers. Dies die Schnellste GPS-Schaltung, erwerben und power-down -, die verfügbar ist. Es ist ideal für das schnelle one-shot-Position.Auf Android, die Sie nutzen könnten Googles Play FusedLocationProviderApi (
FusedLocationApi
) und greifen die Nutzer-Standort viaGetLastLocation
. Diese gibt die Position sofort (mit einer kleinen chance, dass es könnte null sein).Mit Google Standort-Dienst, können Sie eine Position auf der Basis nur der Benutzer die WLAN-Verbindung (SSID-basiert), etc...
Also über die Verwendung eines Formen' Plattform-spezifische Abhängigkeitsdienst, erhalten Sie einen schnellen Auffinden und verwenden Sie dann Xamarin.Plugin ist
Geolocator
erhalten Sie eine genauere und/oder der jüngsten Lage.Dies ist genau das, was wir tun, auf einem hintergrund-thread in eine app beim Start startup Zeit, als die erste Ansicht, die der Benutzer sieht, ist Ihre Lage auf einer custom map, als wenn ein "vollwertiges" GPS-Position ermittelt sich aus der hintergrund-thread (und möglicherweise auch genauere Lage), können wir passen Sie die Karte...