Я использую google maps
и отображаю набор маркеров.При нажатии на маркер я переставляю камеру, чтобы включить и маркер, и пользовательский infoWindow
.
Кажется, все работает нормально, так как камера правильно позиционирует себя, чтобы включить оба элемента, но как только я возьму с собойПри масштабировании, например при большом уменьшении, а затем при повторном выборе маркера, камера обновляет свое положение, при котором ни маркер, ни infoWindow
не отображаются в поле зрения.
Не удалось найти нитей, которые содержат приспособленияс увеличением, работающим параллельно с перестановкой камеры.Я чувствую, что это связано с projection
объектом mapView
, но я не уверен, как решить.Любые мысли будут оценены.
Ниже мой соответствующий код:
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
var point = mapView.projection.point(for: marker.place.coordinate)
point.y = point.y - 60
let adjustedCoords = mapView.projection.coordinate(for: point)
mapView.animate(with: GMSCameraUpdate.setTarget(adjustedCoords, 15))
}