| 

.NET C# Java Javascript Exception

2
Hallo,
suche nun Tage nach einer Lösung.
Habe einen Location-Sensor in Windows 10 per c# abgefragt.
Die Position kommt bei jeder Veränderung, speed und course sind aber immer NaN.
Habt Ihr eine Idee?

private void button1_Click(object sender, EventArgs e)
{
GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.High);
// Check if the user has provided permission to use the service.
if (watcher.Permission == GeoPositionPermission.Denied)
{
// Permission to use Service Location denied by user.
}
else
{
// Set movement threshold in meters.
// Use at least 20 to avoid excessive
// change events generated by minor changes
// in environment or signal quality.
// Higher values also help to maximize battery
// life for the device.
//watcher.MovementThreshold = 30;
// Add handlers for StatusChanged and PositionChanged events.
//watcher.StatusChanged += new EventHandler<GeoPositionStatusChangedEventArgs> (Watcher_StatusChanged);
watcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs <GeoCoordinate>>(Watcher_PositionChanged);
// Start data acquisition.
watcher.Start();
}
}

void Watcher_PositionChanged(object sender,GeoPositionChangedEventArgs <GeoCoordinate> e)
{
// Check to see if location data is available.
if (e.Position.Location.IsUnknown)
{
// Data is not available
}
else
{
double latitude = e.Position.Location.Latitude;
double longitude = e.Position.Location.Longitude;
double altitude = e.Position.Location.Altitude;
double course = e.Position.Location.Course;
double speed = e.Position.Location.Speed;
double hAccuracy = e.Position.Location.HorizontalAccuracy;
double vAccuracy = e.Position.Location.VerticalAccuracy;
DateTimeOffset time = e.Position.Timestamp;
}
}
01.09.2017
1 Antwort
0
Ihr Code sieht für mich eigentlich korrekt aus.

Ich vermute deshalb, dass der von Ihnen verwendete Sensor die Kompassrichtung und die Geschwindigkeit einfach nicht anliefert und deshalb die Auswertung nicht möglich ist.

Wir hatte ähnliche Probleme mit zugekauften Sensoren. Offensichtlich geben nicht alle Sensormodelle alle Daten auch wirklich an die API weiter.
01.09.2017
edvservice 1,3k 6
mir scheint hier ein bug in System.Device.Location vorzuliegen.
Wenn ich eine UWP erstelle und Windows.Devices.Geolocation verwende, kommt auch die Geschwindigkeit und der Kurs. Also der Sensor ist OK.
wkmhv 02.09.2017
Interessanter Hinweis - an eine solche Möglichkeit haben wir bislang noch nicht gedacht.
Wir sind allerdings weg von UWP und hin zu nativen Android-Apps und dort ist es ein Systemdienst, der korrekt funktioniert.
edvservice 04.09.2017
stimme dir zu
lassenhannahpat 14.09.2017

Stelle deine Location-Frage jetzt!