C# Xamarin iOS-获取用户';s当前纬度和经度(简单示例)

C# Xamarin iOS-获取用户';s当前纬度和经度(简单示例),c#,xamarin,maps,C#,Xamarin,Maps,在Xamarin表单文件中,我有一个接口,该接口有一个方法:GetCurrentLocation和两个属性(都是字符串):纬度和经度 在XamarinIOS文件中,我有一个与前面提到的接口进行接口的类。该方法(现在阐述)指出,激活后,它会创建一个MKMapView,获取用户的lat.和long.,并将其设置为等于lat.和long。类的属性(如下所示) 对于本例,此方法只调用一次,目的只是获取lat.和long。并以文本形式显示 (经过一些依赖性服务的诡计…)回到Xamarin表单文件中,我有一

在Xamarin表单文件中,我有一个接口,该接口有一个方法:GetCurrentLocation和两个属性(都是字符串):纬度和经度

在XamarinIOS文件中,我有一个与前面提到的接口进行接口的类。该方法(现在阐述)指出,激活后,它会创建一个MKMapView,获取用户的lat.和long.,并将其设置为等于lat.和long。类的属性(如下所示)

对于本例,此方法只调用一次,目的只是获取lat.和long。并以文本形式显示

(经过一些依赖性服务的诡计…)回到Xamarin表单文件中,我有一个页面,在其中我调用该方法来获取位置,然后使用新获取的坐标以文本形式显示设备的当前位置。(顺便说一句,我在模拟器中设置了一个自定义位置。)

现在,我的问题是,当我实际运行程序时,显示的字符串表示lat.和long。都是0。(“纬度=0,经度=0”)为什么 你可以用


这是Xamarin表单的插件

很抱歉再次打扰您,Alessandro,但我还有一个问题。我已经启动并运行了NuGet软件包,我已经设置好了所有代码,但是当我激活GetCurrentLocation方法时,它会抛出一个Null异常并使我的应用程序崩溃:(有什么想法吗?我应该看看你的代码。如果我记得你应该在iOS和Android中初始化库。顺便说一句,从github下载源代码。应该是一个例子。运行它,看看它是否有效。我几乎复制粘贴了这个例子。你提到初始化库。我在示例中没有看到。我该怎么做?对于Android,请看一个例子。)查看mainactivity.cs。如果您查看github自述文件,应该会得到解释。很抱歉这么麻烦,但我还有另一个错误。如果我使用一个简单的显示警报来告诉我我的坐标,如“DisplayAlert”(“它工作!”),DependencyService.Get()。纬度+“+”+DependencyService.Get()。经度,“OK”)它工作得非常完美。坐标在点上是正确的。但是如果我尝试实例化一个地图,并将坐标放在'DependencyService.Get().latitude'和'DependencyService.Get().longitute'中,它不喜欢它。就像在地图实例化时,坐标是0,0,而不是实际的坐标。
    public string latitude { get; set; }
    public string longitude { get; set; }
    public void GetCurrentLocation () {
        var vm = new MKMapView();
        latitude = mv.UserLocation.Coordinate.Latitude.ToString();
        longitude = mv.UserLocation.Coordinate.Longitude.ToString();
    }