Я пытаюсь преобразовать два массива в CLLocationDegrees и оттуда объединить их в один массив (CLLocationCoordinate2D
).
Итак, начнем с самого начала:
У меня есть два массива типа Double, которые я получил от Firestore. (Один с широтами, а другой с долготами). Я пытаюсь преобразовать эти массивы в CLLocationDegrees и затем объединить их в один массив, который должен иметь тип CLLocationCoordiante2D
.
В верхней части кода (в классе) у меня есть это:
var latitude:[Double] = []
var longitude:[Double] = []
var locations: [CLLocationCoordinate2D] = []
И после viewDidLoad я создал функцию, которая выглядит следующим образом:
func insertInMap()
{
if (CLLocationManager.locationServicesEnabled())
{
//WARNING BELOW
locations = [CLLocationCoordinate2D(latitude: latitude as! CLLocationDegrees, longitude: longitude as! CLLocationDegrees)]
print(locations)
//Insert the coordinates (In the correct order) into mapView.
//Draw a polyline between the coordinates
} else{
//Code here
}
}
Предупреждение, которое я получаю:
Приведение из «[Double]» к несвязанному типу «CLLocationDegrees» (иначе «Double») всегда завершается неудачей
Если я печатаю «местоположения», он возвращает:
[0, 0]
Кто-нибудь знает, как решить эту проблему? Пожалуйста, дайте мне знать.
И если вам здесь не нравится, по крайней мере, напишите причину этого в комментариях.