Windows Phone 8.1 Standort-tracking

Ich möchte, dass eine App, die kontinuierlich senden Gerät auf die position-web-service. Suchen Sie in der Dokumentation, die ich gefunden habe, Geolocation-Klasse und einige Artikel, in denen die position-tracking wird diskutiert:

Umsetzung der beiden Beispiel-Projekte diskutiert, die in diesen Artikeln, ich habe bemerkt, dass die geolocator_PositionChanged () - Ereignis nicht ausgelöst wird, die auf jeder position zu aktualisieren. Es gibt eine Verzögerung (ungefähr 10/15 Minuten) zwischen 2 Durchführung der Veranstaltung. Das merkwürdige ist, dass dies geschieht, selbst wenn die App ausgeführt wird, in den Vordergrund (nicht nur im hintergrund). Ich bin mit Windows-Phone-emulator.

In meiner App habe ich eine map wo ich zeigen müssen Benutzer die position und, also, ich brauche, dass die geolocator_PositionChanged () - Ereignis werden richtig ausgelöst für jede position-update, ohne Verzögerungen.

1) Wie kann ich den Pfad (ohne Verzögerungen) die position des Gerätes mit Geolocator-Klasse?

Suche über das Netzwerk, die ich gefunden habe, die GeoCoordinateWatcher Klasse, der kontinuierlich die position-tracking des Geräts. Dies ist der code:

public MainPage()
{
    InitializeComponent();
    this.GetCoordinate();
}

private void GetCoordinate()
{
    var watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High)
    {
        MovementThreshold = 1
    };
    watcher.PositionChanged += this.watcher_PositionChanged;
    watcher.Start();
}

private void watcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    //Get position data
    var pos = e.Position.Location;
    //Update mypos object
    mypos.update(pos.Latitude, pos.Longitude);
    //Update data on the main interface
    MainMap.SetView(mypos.getCoordinate(), MainMap.ZoomLevel, MapAnimationKind.Parabolic);
}

Funktioniert es: watcher_PositionChanged () - Ereignis ausgelöst wird, ohne Verzögerungen.

2) Warum die GeoCoordinateWatcher keine Verzögerungen? Was ist der Unterschied zwischen GeoCoordinateWatcher Klasse und Geolocator-Klasse?

Schließlich sollte die App senden-Gerät die position auf der web-service auch wenn es nicht aktiv ist. Also, ich brauche ein hintergrund-task. Wie vorgeschlagen hier von Romasz, die ich verwenden kann, Geolocator-Klasse mit einigen Einschränkungen.

3) Kann ich GeoCoordinateWhatcher im hintergrund? Wenn ja, wie?

Mein Ziel ist es zu erkennen, dass eine position-tracking-App ohne Verzögerungen, das funktioniert sogar im hintergrund. Was ist der beste Weg, dies zu tun? Sollte die App verfolgen Sie die position des Geräts und aktualisieren ständig die web-service (auch im hintergrund). Wie kann ich dies tun? Was ist der beste Ansatz? Ich weiß über die Windows-Phone-Apps lifecycle und ich kann akzeptieren, einige Einschränkungen für die Ausführung im hintergrund. Was sind die Hintergründe Grenzen?

InformationsquelleAutor smn.tino | 2014-06-30

Schreibe einen Kommentar