如何在 iOS 4.0/4.2 中获取当前位置的经纬度?

Posted

技术标签:

【中文标题】如何在 iOS 4.0/4.2 中获取当前位置的经纬度?【英文标题】:How to get current location's longitude and latitude in iOS 4.0/4.2? 【发布时间】:2011-08-29 09:32:23 【问题描述】:

我在 ios 4.0 中获取当前位置经度和纬度时遇到问题,也在 iOS 4.2 中尝试过实际上我想在我的应用程序上绘制从当前位置到特定位置的路线,我在我的应用程序中尝试了很多方法,但我不能得到结果

请回复任何知道这件事的人。

谢谢!! :)

【问题讨论】:

你试过CLLocationManager吗? 【参考方案1】:
CLLocationManager *lm = [[CLLocationManager alloc] init];
lm.delegate = self;
lm.desiredAccuracy = kCLLocationAccuracyBest;
lm.distanceFilter = kCLDistanceFilterNone; 
[lm startUpdatingLocation];

CLLocation *location = [lm location];

CLLocationCoordinate2D coord;
coord.longitude = location.coordinate.longitude;
coord.latitude = location.coordinate.latitude;
// or a one shot fill
coord = [location coordinate];

【讨论】:

如果您使用这种方法,location 很可能是 nil 或过时的。 OP 应该实施locationManager:didUpdateToLocation:fromLocation: 以在更新时接收更新。 确实如此。如果他们想要获得准确的最佳机会,他们应该从该方法内部查询坐标。但这种方式至少应该给他们一个好的开始。 嗨@BillBurgess,这个答案在IOS 6中对我有用,但IOS 5.1它不起作用......任何替代品......! 最近两年可能发生了变化,但现在应该是:coord.longitude = location.coordinate.longitude; coord.latitude = location.coordinate.latitude; 这应该被接受为正确答案,它对我有用(至少)。【参考方案2】:

下载这个example

这个例子会告诉你当前的经纬度

【讨论】:

【参考方案3】:

您需要调用 CLLocationManager(请参阅Apple Documentation)。 - startUpdatingLocation 和 - stopUpdatingLocation 是您将使用的主要方法之一。

【讨论】:

以上是关于如何在 iOS 4.0/4.2 中获取当前位置的经纬度?的主要内容,如果未能解决你的问题,请参考以下文章

如何在模拟器中获取 ios 中的当前位置?

如何获取当前位置IOS设备

如何在 iOS 中使用 GoogleCast frameWork 获取当前流位置

如何在IOS SDK 8.0中获取当前位置的经纬度

如何在 iOS 上获取当前位置? [复制]

如何在 WatchKit 应用中获取当前位置?