如何获得xamarin中的当前gps坐标

时间:2014-07-29 12:52:32

标签: c# ios xamarin cllocationmanager

我想在xamarin中获取用户目前的ios纬度和经度。

我已经查看了其他帖子,据我所知。

它就像:

CLLocationManager lm = new CLLocationManager();
... (Acurray)
... (Other Specs)
lm.StartUpdatingLocation();
lm.Location.Coordinate.Latitude.ToString();
lm.Location.Coordinate.Longitude.ToString();

然而,当我在模拟器中运行它时它没有做任何事情。它并没有要求我打开我的位置服务或用纬度和经度更新我的标签。

此外,我如何检查位置服务是否已开启以及是否已开启。如何让用户这样做。 (就像一些要求你打开你的gps的应用程序弹出一样)

1 个答案:

答案 0 :(得分:4)

CLLocationManger是异步的 - 它会在更新位置时触发事件。

CLLocationManager lm = new CLLocationManager(); //changed the class name
... (Acurray)
... (Other Specs)

lm.LocationsUpdated += delegate(object sender, CLLocationsUpdatedEventArgs e) {
    foreach(CLLocation l in e.Locations) {
        Console.WriteLine(l.Coordinate.Latitude.ToString() + ", " +l.Coordinate.Longitude.ToString());
    }
};

lm.StartUpdatingLocation();