Đây là những gì tôi đã làm vào cuối ngày. Trước tiên tôi sử dụng thư viện API vị trí để có được tọa độ (kinh độ và vĩ độ) của địa điểm
Geolocator geolocator = new Geolocator();
geolocator.DesiredAccuracyInMeters = 50;
try
{
// Request the current position
Geoposition geoposition = await geolocator.GetGeopositionAsync(
maximumAge: TimeSpan.FromMinutes(5),
timeout: TimeSpan.FromSeconds(10)
);
string latitude = geoposition.Coordinate.Latitude.ToString("0.00");
string longitude = geoposition.Coordinate.Longitude.ToString("0.00");
}
catch (Exception ex)
{
if ((uint)ex.HResult == 0x80004004)
{
// the application does not have the right capability or the location master switch is off
MessageBox.Show("Location is disabled in phone settings.", "Can't Detect Location", MessageBoxButton.OK);
}
//else
{
// something else happened acquring the location
System.Diagnostics.Debug.WriteLine(ex.Message);
}
}
sau đó sử dụng định vị ngược của google để có được thông tin hoặc thông tin chi tiết của địa điểm dựa trên kinh độ và vĩ độ
http://maps.googleapis.com/maps/api/geocode/json?latlng=latitiude,longitude&sensor=true
tức là nếu các vĩ độ là 60 và kinh độ là 60
http://maps.googleapis.com/maps/api/geocode/json?latlng=60,60&sensor=true
Từ kết quả json, bạn sẽ có thể lấy của đất nước dài và ngắn Tên.
Bạn nhận được gì với RegionInfo.CurrentRegion.DisplayName? –
Tôi nhận được kết quả tương tự "Hoa Kỳ" bằng cách sử dụng RegionInfo.CurrentRegion.DisplayName – jade
Bạn đã thử nghiệm trên thiết bị thực tế chưa? –