Próbuję opracować aplikację, która powinna być czymś w rodzaju gry. Użytkownik miałby pewne lokalizacje w mieście i musiałby coś zrobić w każdej lokalizacji. W celu śledzenia położenia użytkownika, próbowałem przy użyciu geolokalizacji z następującego kodu:Geolokalizacja w C#
Geolocator geolocator = new Geolocator();
//geolocator.DesiredAccuracy = Windows.Devices.Geolocation.PositionAccuracy.High;
geolocator.DesiredAccuracyInMeters = 50;
try
{
Geoposition geoposition = await geolocator.GetGeopositionAsync(TimeSpan.FromMilliseconds(500), TimeSpan.FromSeconds(1));
textLatitude.Text = "Latitude: " + geoposition.Coordinate.Latitude.ToString("0.0000000000");
textLongitude.Text = "Longitude: " + geoposition.Coordinate.Longitude.ToString("0.0000000000");
textAccuracy.Text = "Accuracy: " + geoposition.Coordinate.Accuracy.ToString("0.0000000000");
}
stosując następujący sposób, aby uzyskać współrzędne starałem się sprawdzić, czy urządzenie będzie zlokalizować swoją pozycję poprawnie z następujących Kod:
if(Math.Abs(geoposition.Coordinate.Latitude - 45.3285) < 0.001){
if (Math.Abs(geoposition.Coordinate.Longitude - 14.4474) < 0.001)
{
txt.Text = "KONT";
}
}
problemem jest to, że dokładność lokalizacji jest bardzo małe, jeśli próbuję przy użyciu bardziej precyzyjne współrzędne to nigdy nie dostać te same współrzędne ponownie, a wraz z tym kodem dokładność jest naprawdę źle (może nawet 300 metrów).
Czy ktoś ma pomysł, jak uzyskać bardziej niezawodną lokalizację, lub inny sposób, aby to naprawić?
thx, spróbuję tego jutro (nie mam tu teraz telefonu, żeby go przetestować) mam nadzieję, że zadziała :) – user2700896
@ user2700896 Jeśli nie masz pewności, nie oznaczaj go jako sol ved - zrób to po przetestowaniu :) W tym przypadku powinno działać, ale mogły być inne problemy. – Romasz