У меня есть массив широты и долготы, и я хочу нарисовать полилинию, используя эти данные.
Данные массива такие, как показано ниже,
[
{
address = "Gota, Godrej Garden City Road, Ahmedabad, India, 382481 ",
city = Ahmedabad,
latitude = "23.10104251103548",
longitude = "72.54941169820619",
street = "Godrej Garden City Road",
},
{
address = "Aaryan Eureka Opposite Shayona Shikhar, Vandemataram Rd, Gota, Ahmedabad, Gujarat 382481",
city = Ahmedabad,
latitude = "23.09644251103548",
longitude = "72.54801169820619",
street = "Vandemataram Rd",
},
....// Hundreds of records
]
Код, который я пробовал до сих пор,
let path = GMSMutablePath()
for mapData in arrMapData {
path.add(CLLocationCoordinate2D(latitude: mapData.latitude ?? 0.0, longitude: mapData.longitude ?? 0.0))
}
let polyline = GMSPolyline(path: path)
polyline.strokeWidth = 3.0
polyline.strokeColor = .black
polyline.map = mapView // Google MapView
// Creates a marker in the center of the map.
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: arrMapData[0].latitude ?? 0.0, longitude: arrMapData[0].longitude ?? 0.0)
marker.icon = UIImage(named: AppImages.Pin_red)
marker.title = sourceTitle
marker.snippet = sourceSnippet
marker.map = mapView
let marker1 = GMSMarker()
marker1.position = destination
marker1.icon = UIImage(named: AppImages.Map_pin_orange)
marker1.title = destinationTitle
marker1.snippet = destinationSnippet
marker1.map = mapView
Я знаю об API Направления Google, но мне не нужно вызывать этот API, потому что у меня уже есть все эти данные широты и долготы ... И даже вызов API для всех сотен записей также нереальное решение.
Мой код выше не дает мне никакой ошибки. Он наносит на карту два вывода, которые мне кажутся правильными [детали назначения источника, добавленные из 0-го индексного объекта из массива и последнего индексного объекта из массива].
Но полилинии на карте не добавляется. Я ищу какое-то решение для этого. Спасибо!