我正在开发Xamarin Cross平台应用程序,当我尝试获取gps coords时遇到问题。我有这个代码来获取gps信息:
protected async override void OnAppearing()
{
position = await GetPosition();
map.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(position.Latitude, position.Longitude), Distance.FromMiles(0.3)));
}
async Task<Plugin.Geolocator.Abstractions.Position> GetPosition()
{
var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
Plugin.Geolocator.Abstractions.Position position = await locator.GetPositionAsync(TimeSpan.FromSeconds(5));
return position;
}
当它到达该行时:
Plugin.Geolocator.Abstractions.Position position = await locator.GetPositionAsync(TimeSpan.FromSeconds(5));
它给了我这个例外:
Java.Lang.ClassNotFoundException:没找到类 “md57251f317a80041e1a60080af127573bd.GeolocationSingleListener”on path:DexPathList [[zip文件 “/data/app/com.companyname.PruebaMapas-1/base.apk"],nativeLibraryDirectories=[/data/app/com.companyname.PruebaMapas-1/lib/x86, /系统/假库, /data/app/com.companyname.PruebaMapas-1/base.apk!/lib/x86, / system / lib,/ vendor / lib]]
我不知道为什么。我使用NuGet添加“Plugin.Geolocator”,它也在我的PruebaMapas项目和我的PruebaMapas.Android项目中。
任何人都可以帮助我吗?非常感谢!
答案 0 :(得分:1)
您的应用程序是否在不使用GeoPlugin的情况下运行?如果不是,它可以类似于this,所以你可以尝试这个解决方案。这是Xamarin android 8.1中的已知问题。