我正在尝试执行以下代码但发生错误:
public void OnLocationChanged(Location location) {
var lat = (TextView)FindViewById<TextView> (Resource.Id.latitude);
var lon = (TextView)FindViewById<TextView> (Resource.Id.longitude);
var data = (TextView)FindViewById<TextView> (Resource.Id.info1);
var act = (TextView)FindViewById<TextView> (Resource.Id.info2);
var excep = (TextView)FindViewById<TextView> (Resource.Id.Excep);
lat.Text = string.Format ("Latitude : {0:N5}", location.Latitude);
lon.Text = string.Format ("Longitude : {0:N5}", location.Longitude);
Geocoder geocode = new Geocoder (this);
Task<Address> getAddressTask = geocode.GetFromLocationAsync (location.Latitude, location.Longitude, 5);
IList<Address> addresses = await getAddressTask;
}
错误CS0117'Android.Locations.Geocoder'不包含'GetFromLocationAsync'的定义
请帮助我。
答案 0 :(得分:0)
从this link开始,我收集您必须添加必要的权限,例如:
[assembly: UsesPermission(Manifest.Permission.Internet)]
适用于Geocoder
和
[assembly: UsesPermission(Manifest.Permission.AccessFineLocation)]
[assembly: UsesPermission(Manifest.Permission.AccessCoarseLocation)]
LocationServices
答案 1 :(得分:0)
GetFromLocationAsync()方法解决了问题,我使用的是旧版本的单机版4.6,更新到4.8,它出现了。
该方法可以通过使用android.Locations类来显示。
感谢大家的帮助和支持。