我想在xamarin中获取用户目前的ios纬度和经度。
我已经查看了其他帖子,据我所知。
它就像:
CLLocationManager lm = new CLLocationManager();
... (Acurray)
... (Other Specs)
lm.StartUpdatingLocation();
lm.Location.Coordinate.Latitude.ToString();
lm.Location.Coordinate.Longitude.ToString();
然而,当我在模拟器中运行它时它没有做任何事情。它并没有要求我打开我的位置服务或用纬度和经度更新我的标签。
此外,我如何检查位置服务是否已开启以及是否已开启。如何让用户这样做。 (就像一些要求你打开你的gps的应用程序弹出一样)
答案 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();