Как обновить положение маркера на карте Google по значениям широты и долготы - PullRequest
0 голосов
/ 03 января 2019

Я новичок в iOS Swift. Я недавно начал работать над GMSMaps. В моем коде я могу получить значения latitude и longitude источника и назначения, чтобы найти направление, и я также могу добавить маркер на карту. Но я хочу изменить положение маркера на основе изменения значений источника и назначения. Когда я попытался изменить источник / назначение, то снова добавился еще один маркер на карты. Я не хочу добавлять еще один маркер, я просто хочу переместить предыдущий маркер в обновленное местоположение. Если кто-нибудь даст решение, это будет так здорово.

Это мой код, который я написал, чтобы добавить маркер для источника и места назначения. Я написал этот код в didSelectRowAtIndexPath метод tableView

let centerr = CLLocationCoordinate2D(latitude: lat, longitude: lon)
var camera = GMSCameraPosition.camera(withLatitude: lat, longitude: lon, zoom: 10);
self.googlemapsview.camera = camera
var marker = GMSMarker(position: centerr)
print("Latitude :- \(lat)")
print("Longitude :-\(lon)")
marker.map = self.googlemapsview

1 Ответ

0 голосов
/ 03 января 2019

Сделать marker глобальной переменной и обновить ее координаты с помощью свойства position.

var marker: GMSMarker!

Обновить маркер:

let newPosition = CLLocationCoordinate2D(latitude: newLat, longitude: newLon)
marker.position = newPosition

https://developers.google.com/maps/documentation/ios-sdk/reference/interface_g_m_s_marker#a2b9fdae0160d7acf439889ffcdb5f68b

in tableViewDidSelect

let centerr = CLLocationCoordinate2D(latitude: lat, longitude: lon)
var camera = GMSCameraPosition.camera(withLatitude: lat, longitude: lon, zoom: 10);
self.googlemapsview.camera = camera
marker = GMSMarker(position: centerr)
print("Latitude :- \(lat)")
print("Longitude :-\(lon)")
marker.map = self.googlemapsview
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...