У меня следующая структура
struct Talleres : Codable {
let id : Int?
let title : String?
}
Я использую для извлечения данных JSON и для добавления маркеров в Google Maps (SDK).
С переменной marker.accessibilityLabel = state.title
я сохраняю заголовок, чтобы использовать его в другой функции.
func jsonMapTaller() {
.
.
.
for state in self.marcadores {
let coordinates = CLLocationCoordinate2D(latitude: lat, longitude: long)
let marker = GMSMarker(position: coordinates)
marker.map = self.map
marker.icon = UIImage(named: "pin")
marker.accessibilityLabel = state.title
}
}
Использование данных, хранящихся в marker.accessibilityLabel
Я добавляю эту информацию (заголовок) в пользовательские информационные окна в следующей функции:
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
.
.
.
let myTitle:String! = marker.accessibilityLabel!
infoWindow.titleLbl.text = myTitle
.
.
.
infoWindow.center = mapView.projection.point(for: location)
infoWindow.center.y = infoWindow.center.y - 107
infoWindow.infoBtn.addTarget(self, action: #selector(buttonTapped), for: .touchUpInside)
self.view.addSubview(infoWindow)
return false
}
Как сохранить больше переменных ? Например, state.id
и сможете использовать его в функции func mapView (_mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {...
?