我需要一种将MKUserLocation转换为CLLocation的方法,这样我就可以使用distanceFromLocation方法查找用户位置和另一个预定义的CLLocation之间的距离。
发布于 2015-02-22 19:33:17
MKUserLocation具有属性位置,恰好是CLLocation类型。
请参阅参考文件/occ/instp/MKUserLocation/location
然而,有几件事你需要首先到位。
发布于 2015-06-10 08:00:29
我想你的MKUserLocation是从mapView得到的,对吗?
因此,您必须遵循以下步骤:
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation
// Code - (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation { userLocation.location distanceFromLocation:_yourOtherLocation;}发布于 2015-07-29 16:31:07
Xcode 6.4,对于iOS 8.4,启用了ARC
好的答案已经张贴在这里;然而,没有一个能迅速给出具体的例子。以下是一些需要记住的事情:
MKUserLocation类定义了标识用户当前位置的特定类型的注释。您不直接创建该类的实例。相反,您可以从应用程序中显示的地图视图的userLocation属性中检索现有的userLocation对象。
位置属性是只读的!
var location: CLLocation! { get }因此,使用此属性可以直接使用distanceFromLocation:,但不要使用当前用户的位置,因为它显然将返回0米。您很可能需要初始化一个新的CLLocation来度量它。
func distanceFromLocation(_ location: CLLocation!) -> CLLocationDistance希望这能有所帮助!干杯。
https://stackoverflow.com/questions/28662219
复制相似问题