gpt4 book ai didi

iphone - 比较位置与NSMutableArray中的坐标

转载 作者:行者123 更新时间:2023-12-01 19:06:38 26 4
gpt4 key购买 nike

我有一个NSMutableArray,用于存储ID,纬度,经度等。我需要将用户的当前位置与以下数组中存储的项的纬度和经度进行比较。

我知道如何获取用户的当前坐标,但是我不知道如何访问数组中的坐标或如何比较距离。

该数组是一个称为scrolledPast的NSMutableArray(请参见下文)。假设当前用户的坐标为21.31,-157.86。我什至会开始?任何指导将不胜感激。谢谢您的出色帮助!

array: (
{
key1 = 80;
key2 = "11:34 PM";
key3 = "place1";
key4 = "21.3111656";
key5 = "-157.8606953";
},
{
key1 = 251;
key2 = "11:34 PM";
key3 = "place2";
key4 = "21.310672";
key5 = "-157.8611839";
},
{
key1 = 79;
key2 = "11:34 PM";
key3 = "place3";
key4 = "21.3106798";
key5 = "-157.8612934";
}
)

这是生成上述数组的代码:
NSMutableDictionary *dict = [NSMutableDictionary dictionary];

[dict setObject:placeId forKey:@"key1"];
[dict setObject:currentTime forKey:@"key2"];
[dict setObject:textForMyLabel forKey:@"key3"];
[dict setObject:placeLatitude forKey:@"key4"];
[dict setObject:placeLongitude forKey:@"key5"];

[scrolledPast addObject:dict];

NSLog(@"array: %@", scrolledPast);

最佳答案

您有一系列字典。您可以通过以下方式访问元素:

for (NSDictionary *dict in scrolledPast) {
NSString *lat = dict[@"key4"];
NSString *lng = dict[@"key5"];
// compare distance here
}

为了比较距离,最好使用CLLocation的 distanceFromLocation: (我想内部它使用 the Haversine formula)。

关于iphone - 比较位置与NSMutableArray中的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19207471/

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