如何在Xamarin Forms Labs中使用“GeoLocator”功能。当我在我的类中添加“GeoLocator”方法时,我不断收到this.SetProperty不存在的错误。有人知道如何使用“GeoLocator”吗?
答案 0 :(得分:1)
SetProperty仅适用于最新的pre release 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"),
答案 1 :(得分:1)
除了Rui的回答之外,我还建议您使用Plugins for Xamarin来解决此类问题。具体来说,Geolocator Plugin for Xamarin and Windows。
这两个地理位置代码库都源自Xamarin.Mobile,但据我所知,该插件更新一些,并且支持Windows 10(UWP)开发。
答案 2 :(得分:0)
如果您发布了一些正在使用的代码,则可以更轻松地帮助您。但与此同时,SetProperty
不存在,因为您没有继承Xamarin.Forms.Labs.Data.ObservableObject
类。它包含SetProperty
方法,它只是INotifyPropertyChanged
的一个实现(如果值不同则更改属性并引发PropertyChanged事件)。
所以你可以继承XFormsLab的ObservableObject
(或它继承自ObservableObject
,Xamarin.Forms.Labs.Mvvm.ViewModel
的基础视图模型类),然后你就可以访问SetProperty
。或者您根本无法使用SetProperty
并使用自己的INotifyPropertyChanged
答案 3 :(得分:0)
我们从这个库中获取代码并将其清理干净。你可以在这里克隆回购:
https://github.com/MelbourneDeveloper/Adapt.Presentation.git
每个平台都有完整的样本。如果您运行该示例,您将看到GeoLocator的选项卡,它应该在所有平台上运行。 Android和UWP已经过彻底测试。
NuGet包Adapt.Presentation在某种程度上起作用,但我很难让它在所有平台上正常工作。