Xamarin Forms Labs - Geolocator

时间:2014-07-29 14:13:45

标签: xamarin.forms

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

4 个答案:

答案 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(或它继承自ObservableObjectXamarin.Forms.Labs.Mvvm.ViewModel的基础视图模型类),然后你就可以访问SetProperty 。或者您根本无法使用SetProperty并使用自己的INotifyPropertyChanged

实现

答案 3 :(得分:0)

我们从这个库中获取代码并将其清理干净。你可以在这里克隆回购:

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

每个平台都有完整的样本。如果您运行该示例,您将看到GeoLocator的选项卡,它应该在所有平台上运行。 Android和UWP已经过彻底测试。

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