Tôi đang cố gắng phát triển một ứng dụng phải giống như trò chơi. Người dùng sẽ có một số địa điểm trong một thành phố và anh ta sẽ phải làm điều gì đó trên mỗi vị trí. Để theo dõi vị trí của người sử dụng, tôi đã cố gắng sử dụng định vị với đoạn mã sau:Vị trí địa lý trong 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");
}
Sử dụng cách sau để có được tọa độ tôi đã cố gắng để kiểm tra xem thiết bị sẽ xác định vị trí vị trí của tôi một cách chính xác như sau mã:
if(Math.Abs(geoposition.Coordinate.Latitude - 45.3285) < 0.001){
if (Math.Abs(geoposition.Coordinate.Longitude - 14.4474) < 0.001)
{
txt.Text = "KONT";
}
}
vấn đề là tính chính xác của địa điểm thực sự là nhỏ, nếu tôi cố gắng sử dụng chính xác hơn phối nó sẽ không bao giờ có được cùng một tọa độ một lần nữa, và với mã này chính xác là thực sự xấu (nó có thể thậm chí thất bại 300 mét).
Có ai có ý tưởng làm thế nào để có được vị trí đáng tin cậy hơn hay cách khác để khắc phục điều đó?
thx, tôi sẽ thử ngày mai (Tôi không có điện thoại ở đây ngay bây giờ để kiểm tra nó) tôi hy vọng rằng nó sẽ làm việc :) – user2700896
@ user2700896 Nếu bạn không chắc chắn, sau đó không đánh dấu nó là sol ved - làm điều đó một khi bạn kiểm tra nó :) Trong trường hợp này nó sẽ làm việc, nhưng có thể có được các vấn đề khác. – Romasz