Я использую userdata для добавления пользовательских данных в мои маркеры карт google. Я устанавливаю marker.userdata через класс, который я создал. Поскольку у меня много маркеров, я назначаю переменные словаря классу и затем присваиваю эту информацию пользовательским данным.Обновить определенные измеренные значения marker.userdata для заданных ключей
Мой вопрос заключается в том, что после того, как я постучал по маркеру и отобразил свои пользовательские данные в метке, пользователь может изменить текстовое поле, в которое я хочу установить эту метку. Как обновить/обновить/сбросить конкретное значение userdata специально для этого отмеченного маркера?
установка класс
class markerUserData{
var nameUserData: String
var tags: String
init(Name: String, Tags: String) {
self.nameUserData = Name
self.tags = Tags
}
создания markers.userdata
for p in STOREDPlaces {
let name = p["StoredPlaceName"] as? String
let tags = p["Tags"] as? Strin
markers.map = self.vwGMap
self.vwGMap.setNeedsDisplay()
let storedPlaceUserData = markerUserData(Name: name!, Tags: tags!)
markers.userData = storedPlaceUserData
}
просверленных функция
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
detailsName.text = (marker.userData as! markerUserData).nameUserData
tagsMarker = (marker.userData as! markerUserData).tags
}
@IBAction func editingTextField(_ sender: Any) {
//So in here i want something which will update (marker.userData as! markerUserData).tags and set it to whatever has been edited
}
Эй, спасибо, но я прочитал эти документы снова и снова. То, что меня смущает, заключается в приведенном выше примере, как известно идентификатор placeID («ChIJV4k8_9UodTERU5KXbkYpSYs»), тогда как с использованием метода автозаполнения, который я использую, переменная placeID всегда изменяется, поэтому я бы сделал это var placeID = GMSPlace.placeID или как ? Или мне нужно сделать автозаполнение с помощью сборщика? –