Swift 如何根据路径设置谷歌地图缩放级别&;斯威夫特的标记

Swift 如何根据路径设置谷歌地图缩放级别&;斯威夫特的标记,swift,google-maps,google-maps-api-3,google-maps-markers,google-maps-sdk-ios,Swift,Google Maps,Google Maps Api 3,Google Maps Markers,Google Maps Sdk Ios,我试图在谷歌地图上显示从一个地方到另一个我喜欢的地方的路径。但我需要表现得像。这意味着整个路径需要显示&根据地图上的路径,缩放级别应该调整 下面是我试图从API中绘制路径的代码。在这里,让设置CAMam设置摄像头调整到其中一个位置 func showingPathFromPickupLocToDropLoc(dropLat: Double, dropLong: Double){ let origin = "\(dropLat),\(dropLong)" let destinat

我试图在谷歌地图上显示从一个地方到另一个我喜欢的地方的路径。但我需要表现得像。这意味着整个路径需要显示&根据地图上的路径,缩放级别应该调整

下面是我试图从API中绘制路径的代码。在这里,
让设置CAM
am设置摄像头调整到其中一个位置

func showingPathFromPickupLocToDropLoc(dropLat: Double, dropLong: Double){

    let origin = "\(dropLat),\(dropLong)"
    let destination = "\(dropLatitude),\(dropLongitude)"

    let settingCam: CLLocationCoordinate2D = CLLocationCoordinate2D(latitude: CLLocationDegrees(dropLat), longitude: CLLocationDegrees(dropLong))
    let url = URL(string: "https://maps.googleapis.com/maps/api/directions/json?origin=\(origin)&destination=\(destination)&key=\(NEWAPI.GOOGLE_APIKEY)")
    URLSession.shared.dataTask(with: url!, completionHandler: {(data, response, error) in
        if(error != nil){
            print("error")
        }else{
            do{
                let json = try JSONSerialization.jsonObject(with: data!, options:.allowFragments) as! [String : AnyObject]
                if json["status"] as! String == "OK"{
                    let routes = json["routes"] as! [[String:AnyObject]]
                    OperationQueue.main.addOperation({
                        for route in routes{
                            let routeOverviewPolyline = route["overview_polyline"] as! [String:String]
                            let points = routeOverviewPolyline["points"]
                            let path = GMSPath.init(fromEncodedPath: points!)
                            self.PathFromPickupLocToDropLoc = GMSPolyline(path: path)
                            self.PathFromPickupLocToDropLoc.strokeColor = .gray
                            self.PathFromPickupLocToDropLoc.strokeWidth = 3.0
                            self.PathFromPickupLocToDropLoc.map = self.mapView

                            let camera = GMSCameraPosition.camera(withTarget: settingCam, zoom: 16.0)
                            self.mapView.animate(toLocation: settingCam)
                            self.mapView.animate(to: camera)
                            self.insertingMarkersFromPickupLocToDropLoc(dropLat: dropLat, dropLong: dropLong)
                        }
                    })
                }
            }catch let error as NSError{
                print(error)
            }
        }
    }).resume()
}

你需要这样做

DispatchQueue.main.async
{
 if self.googleMap != nil
 {
  let bounds = GMSCoordinateBounds(path: path!)
  self.googleMap!.animate(with: GMSCameraUpdate.fit(bounds, withPadding: 50.0))   
 }
}

谢谢@Mitesh,这是一个完美的答案。太棒了,兄弟。。。谢谢你的回答。