Карты Google: поместите GSMCamera, чтобы включить маркер и InfoWindow - PullRequest
0 голосов
/ 27 августа 2018

Я использую 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))
}
...