不包含GetFromLocationAsync的定义

时间:2013-11-08 17:01:30

标签: c# android async-await

我正在尝试执行以下代码但发生错误:

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'的定义

请帮助我。

2 个答案:

答案 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类来显示。

感谢大家的帮助和支持。