我正在使用谷歌地图,我可以使用以下命令将地图居中放置到GMSMarker
GMSCameraPosition *camera =
[[GMSCameraPosition alloc] initWithTarget:marker.position
zoom:MAP_ZOOM_LEVEL
bearing:0
viewingAngle:0];
[mapView animateToCameraPosition:camera];我显示了一个200*150大小的自定义标注,当相机位置改变时,它的一部分会被隐藏,但我希望标注在中心,地图点在它的下方。有什么好办法吗?
发布于 2013-05-23 14:07:41
看看如何使用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;
}发布于 2017-06-08 23:08:28
Swift 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
}https://stackoverflow.com/questions/16686795
复制相似问题