在 GMSMapview iOS 中显示两个位置的定位相机

Man*_*nan 7 ios gmsmapview

我在我的 iOS 应用程序中使用谷歌地图服务 GMSMapview。因为我有两个 CLLocationCoordinates。一个是当前位置,另一个是目标位置。我试图将地图放在这两个地方。

但是相机位置没有设置在这两个点内。我尝试使用以下代码,

CLLocationCoordinate2D start = CLLocationCoordinate2DMake(newLoc.coordinate.latitude, newLoc.coordinate.longitude);
CLLocationCoordinate2D end = CLLocationCoordinate2DMake(_retailerVO.R_Latitude, _retailerVO.R_Longitude);
GMSCoordinateBounds *gBounds =
[[GMSCoordinateBounds alloc] initWithCoordinate:start coordinate:end];
GMSCameraPosition *gCamera = [mapView_ cameraForBounds:gBounds insets:UIEdgeInsetsZero];
mapView_.camera = gCamera;
Run Code Online (Sandbox Code Playgroud)

有什么方法可以实现我的目标吗?所有建议表示赞赏。

Adi*_*tya 7

在斯威夫特

 let bounds = GMSCoordinateBounds(coordinate: sourcePosition, coordinate: endPosition)
 let camera: GMSCameraUpdate = GMSCameraUpdate.fit(bounds)
 //  let cameraWithPadding: GMSCameraUpdate = GMSCameraUpdate.fit(bounds, withPadding: 100.0) (will put inset the bounding box from the view's edge)

 self.mapView.animate(with: camera)
Run Code Online (Sandbox Code Playgroud)


Pat*_*gar 5

添加带边界的填充,它对我有用,希望对您有所帮助,

GMSCoordinateBounds *bounds = [[GMSCoordinateBounds alloc] initWithCoordinate:start coordinate:end];

[self.viewMapView animateWithCameraUpdate:[GMSCameraUpdate fitBounds:bounds withPadding:100.0f]];
Run Code Online (Sandbox Code Playgroud)