1

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

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

请帮我解决一下这个。

4

2 回答 2

0

从此链接,我认为您必须添加必要的权限,例如:

[assembly: UsesPermission(Manifest.Permission.Internet)]

对于Geocoder

[assembly: UsesPermission(Manifest.Permission.AccessFineLocation)]
[assembly: UsesPermission(Manifest.Permission.AccessCoarseLocation)]

为了LocationServices

于 2013-11-08T17:15:25.640 回答
0

解决了 GetFromLocationAsync() 方法的问题,我使用的是 4.6 的旧版本 mono android,更新到 4.8 并出现了。

该方法可以通过使用 android.Locations 类来显示。

感谢大家的帮助和支持。

于 2013-11-12T17:43:47.867 回答