Xamarin.forms Xamarin Forms实验室-地理定位器

Xamarin.forms Xamarin Forms实验室-地理定位器,xamarin.forms,Xamarin.forms,如何在Xamarin Forms Labs中使用“地理定位器”功能。当我在我的类中添加“GeoLocator”方法时,我一直得到这样一个错误:this.SetProperty不存在。任何人都知道如何使用“地理定位器”?如果你发布一些你正在使用的代码,它将更容易帮助你。但同时,SetProperty不存在,因为您不是从Xamarin.Forms.Labs.Data.observeyObject类继承的。它包含SetProperty方法,该方法只是INotifyPropertyChanged的一个实

如何在Xamarin Forms Labs中使用“地理定位器”功能。当我在我的类中添加“GeoLocator”方法时,我一直得到这样一个错误:this.SetProperty不存在。任何人都知道如何使用“地理定位器”?

如果你发布一些你正在使用的代码,它将更容易帮助你。但同时,
SetProperty
不存在,因为您不是从
Xamarin.Forms.Labs.Data.observeyObject
类继承的。它包含
SetProperty
方法,该方法只是
INotifyPropertyChanged
的一个实现(如果值不同,则更改属性并引发PropertyChanged事件)


因此,您可以继承XFormsLab的
ObserveObject
(或者继承自
ObserveObject
Xamarin.Forms.Labs.Mvvm.ViewModel
)的基本视图模型类,然后您就可以访问
SetProperty
。或者您根本不能使用
SetProperty
,也不能使用自己的
INotifyPropertyChanged

SetProperty只在最新的预发布nuget软件包上可用,它是我们的基本ViewModel中的一种方法

您必须显示您的代码才能看到您正在尝试执行的操作

但应该如此简单:

 var geolocator = DependencyService.Get<IGeolocator>();
 var result = geolocator.GetPositionAsync(10000);
 var strLatitude = result.Latitude.ToString("N4");
 var strLongitude = result.Longitude.ToString("N4"),
var geologitor=DependencyService.Get();
var result=geologitor.GetPositionAsync(10000);
var strLatitude=结果、纬度和字符串(“N4”);
var strlongitence=结果.经度.ToString(“N4”),

除了Rui的答案之外,我还建议将其用于此类行为。具体地说,是


这两个地理位置代码库都源于Xamarin.Mobile,但据我所知,该插件更为先进,还支持Windows 10(UWP)开发。

我们从这个库中获取了代码并将其清理干净。您可以在此处克隆回购协议:

它包括每个平台的样品。如果运行该示例,您将看到GeoLocator的选项卡,它应该在所有平台上运行。Android和UWP已经过全面测试

NuGet软件包Adapt.Presentation在某种程度上起作用,但我很难让它在所有平台上正常工作