gpt4 book ai didi

ios - 从数组返回的属性创建常量

转载 作者:行者123 更新时间:2023-11-30 11:09:52 25 4
gpt4 key购买 nike

基本上我有两个数组,一个包含纬度,另一个包含经度(真正的数组显然要长得多)。即:

latArray = [50.456782, 57.678654]
longArray = [14.578002, 17.890652]

我需要使用 for 循环遍历这些数组,并创建一个对象,该对象将根据数组的顺序具有各自的纬度和经度。但我真的不知道该怎么做。即

firstPlace.latitude = 50.456782
firstPlace.longitude = 14.578002

secondPlace.latitude = 57.678654
secondPlace.longitude = 17.890652

我需要将它们作为单独的变量,因为我需要将它们传递到 MKAnnotation 中,以便稍后可以在 MKAnnotationView 中将它们表示为 map 上的各个位置。

希望这足够清楚,任何帮助都会受到赞赏。谢谢。

最佳答案

最好使用 CoreLocation 框架中的 CLLocationCooperative2D 来表示坐标位置。

这听起来是使用 zip 命令的好地方。

这是一个例子:

let latArray = [50.456782, 57.678654]
let longArray = [14.578002, 17.890652]

let coordinates = zip(latArray, longArray).map { lat, lon in
CLLocationCoordinate2D(latitude: lat, longitude: lon)
}

print(coordinates)

输出(稍微整理一下):

[CLLocationCoordinate2D(latitude: 50.456781999999997, longitude: 14.578002), CLLocationCoordinate2D(latitude: 57.678654000000002, longitude: 17.890651999999999)]

MKAnnotation 无论如何都使用 CLLocationCooperative2D 作为它的坐标属性,所以这应该更容易。如果需要,您甚至可以在 map 函数中创建 MKAnnotations

使用结构体的示例:

let latArray = [50.456782, 57.678654]
let longArray = [14.578002, 17.890652]

struct Place {
var name: String
var coordinate: CLLocationCoordinate2D
}

let places = zip(latArray, longArray).map { lat, lon in
Place(name: "Some place",
coordinate: CLLocationCoordinate2D(latitude: lat, longitude: lon))
}

print(places)

关于ios - 从数组返回的属性创建常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52294520/

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