1

如何使用 Xamarin Forms Labs 中的“GeoLocator”功能。当我在课堂上添加“GeoLocator”方法时,我不断收到 this.SetProperty 不存在的错误。有人知道如何使用“地理定位器”吗?

4

4 回答 4

1

SetProperty 仅在最新的预发布 nuget 包中可用,它是我们的 Base ViewModel 中的一种方法...

你必须展示你的代码才能看到你想要做什么。

但它应该像这样简单:

 var geolocator = DependencyService.Get<IGeolocator>();
 var result = geolocator.GetPositionAsync(10000);
 var strLatitude = result.Latitude.ToString("N4");
 var strLongitude = result.Longitude.ToString("N4"),
于 2014-07-31T15:20:45.987 回答
1

除了 Rui 的回答,我建议使用Plugins for Xamarin来处理这种类型的行为。具体来说,Xamarin 和 Windows 的 Geolocator 插件

这两个地理定位代码库都源自 Xamarin.Mobile,但据我所知,该插件更新了一些,并且还支持 Windows 10 (UWP) 开发。

于 2016-01-14T23:33:57.663 回答
0

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

因此,您可以从 XFormsLab 继承ObservableObject(或者它是从ObservableObject,继承的基本视图模型类Xamarin.Forms.Labs.Mvvm.ViewModel),然后您将可以访问SetProperty. 或者你根本不能使用SetProperty并使用你自己的实现INotifyPropertyChanged

于 2014-07-29T17:12:05.697 回答
0

我们从这个库中获取代码并对其进行清理。您可以在此处克隆存储库:

https://github.com/MelbourneDeveloper/Adapt.Presentation.git

它包含每个平台的示例。如果您运行该示例,您将看到一个 GeoLocator 选项卡,它应该可以在所有平台上运行。Android 和 UWP 已经过彻底测试。

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

于 2017-07-11T22:03:28.867 回答