点击GMSMarker
并打开InfoWindow
后,相机会移动到GMSMarker
位于GMSMapView
中心的位置。移动时如何更改标记位于底部的相机移动位置?
当我在没有didTapMarker
的情况下实施GMS delegate
InfoWindow
方法时,一切都很好:
func mapView(mapView: GMSMapView, didTapMarker marker: GMSMarker) -> Bool {
var point = mapView.projection.pointForCoordinate(marker.position)
point.y = point.y - 200
let camera = GMSCameraUpdate.setTarget(mapView.projection.coordinateForPoint(point))
mapView.animateWithCameraUpdate(camera)
return true
}
它在底部定位标记。但是,如果我return false
它显示InfoWindow并且标记再次居中。
答案 0 :(得分:1)
mapView.selectedMarker = marker
didTapMarker
方法中缺少 delegate
。该方法应如下所示:
func mapView(mapView: GMSMapView, didTapMarker marker: GMSMarker) -> Bool {
var point = mapView.projection.pointForCoordinate(marker.position)
point.y = point.y - 150
let camera = GMSCameraUpdate.setTarget(mapView.projection.coordinateForPoint(point))
mapView.animateWithCameraUpdate(camera)
mapView.selectedMarker = marker
return true
}