iOS谷歌地图sdk GMSMarker定位

我正在使用谷歌地图,我可以通过使用中心地图到GMSMarker

GMSCameraPosition *camera = [[GMSCameraPosition alloc] initWithTarget:marker.position zoom:MAP_ZOOM_LEVEL bearing:0 viewingAngle:0]; [mapView animateToCameraPosition:camera]; 

我正在显示尺寸为200 * 150的自定义标注,当相机位置发生变化时,其中一部分会隐藏起来,但我希望标注位于中心,地图点位于其下方。 任何想法如何做到这一点。

看看使用GMSProjection 。 要将地图的中心从标记位置移动100px,您可以执行以下操作:

 - (BOOL)mapView:(GMSMapView *)mapView didTapMarker:(GMSMarker *)marker { CGPoint point = [mapView_.projection pointForCoordinate:marker.position]; point.x = point.x + 100; GMSCameraUpdate *camera = [GMSCameraUpdate setTarget:[mapView_.projection coordinateForPoint:point]]; [mapView_ animateWithCameraUpdate:camera]; return YES; } 

斯威夫特4,3

 func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool { var point:CGPoint = mapView.projection.point(for: marker.position) point.x = point.x + 100 let camera:GMSCameraUpdate = GMSCameraUpdate.setTarget(mapView.projection.coordinate(for: point)) mapView.animate(with: camera) return true }