gpt4 book ai didi

ios - CLLocationCoordinate2D 两点之间的距离

转载 作者:可可西里 更新时间:2023-11-01 05:01:15 26 4
gpt4 key购买 nike

详情

我正在尝试测量 map 上两个坐标(经度、纬度)之间的距离。第一个坐标是我的当前位置,它是一个CLLocation,另一个是 map 上的一个图钉,它的类型是CLLocationCoordinate2D

问题

我调用 distanceFromLocation 来获取我在 CLLocation 中的当前位置,但它说来自 CLLocationCoordinate2D 的接收器类型错误。

CLLocationCoordinate2D locationCoordinate;

// Set the latitude and longitude
locationCoordinate.latitude = [[item objectForKey:@"lat"] doubleValue];
locationCoordinate.longitude = [[item objectForKey:@"lng"] doubleValue];

CLLocationDistance dist = [locationCoordinate distanceFromLocation:locationManager.location.coordinate]; // bad receiver type from CLLocationCoordinate2D

问题

我想以公制单位找到这两个坐标之间的距离,并且我知道类型不匹配,但是如何转换它们以便找到这两个节点之间的距离?

最佳答案

使用下面的方法计算两个位置之间的距离

-(float)kilometersfromPlace:(CLLocationCoordinate2D)from andToPlace:(CLLocationCoordinate2D)to  {

CLLocation *userloc = [[CLLocation alloc]initWithLatitude:from.latitude longitude:from.longitude];
CLLocation *dest = [[CLLocation alloc]initWithLatitude:to.latitude longitude:to.longitude];

CLLocationDistance dist = [userloc distanceFromLocation:dest]/1000;

//NSLog(@"%f",dist);
NSString *distance = [NSString stringWithFormat:@"%f",dist];

return [distance floatValue];

}

关于ios - CLLocationCoordinate2D 两点之间的距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20492618/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com