2017-07-30 59 views
0

我必须在Google Map视图中绘制多个针脚,然后缩放到用户的当前位置。引脚已成功绘制,但未缩放到当前位置。任何帮助,将不胜感激谷歌地图不缩放到我目前的位置

override func viewDidAppear(_ animated: Bool) { 

     if (self.googleMapsView == nil) { 
      self.googleMapsView = GMSMapView(frame: self.mapViewContainer.frame) 
      self.view.addSubview(self.googleMapsView) 
      print(AppDelegate.getAppDelegate().mapArray) 
       googleMapsView.clear() 
      for i in 0...AppDelegate.getAppDelegate().mapArray.count - 1 { 
       let lon = Double ((AppDelegate.getAppDelegate().mapArray[i]["lon"] as? String)!) 
       let lat = Double ((AppDelegate.getAppDelegate().mapArray[i]["lat"] as? String)!) 
       let tit = AppDelegate.getAppDelegate().mapArray[i]["location"] as? String 
       locateWithLongitude(lon: lon!,andLatitude: lat! ,andTitle: tit!) 

      } 




      let marker = GMSMarker(position: AppDelegate.getAppDelegate().myLocation) 
      let camera = GMSCameraPosition.camera(withLatitude: AppDelegate.getAppDelegate().myLocation.latitude, longitude: AppDelegate.getAppDelegate().myLocation.longitude, zoom: 11) 
      self.googleMapsView.camera = camera 
      marker.title = AppDelegate.getAppDelegate().sublocality 
      marker.map = self.googleMapsView 
      self.googleMapsView.animate(to: camera) 

     } 
    } 




func locateWithLongitude(lon: Double, andLatitude lat: Double, andTitle title: String) { 

     DispatchQueue.main.async() {() -> Void in 
      let position = CLLocationCoordinate2DMake(lat, lon) 
      let marker = GMSMarker(position: position) 
      let camera = GMSCameraPosition.camera(withLatitude: lat, longitude: lon, zoom: 0) 
      self.googleMapsView.camera = camera 
      marker.title = title 
      marker.map = self.googleMapsView 
     } 
    } 
+1

你能解释一下你在做什么?因为你可以多次调用放大缩小,因为我可以看到,如果你可以解释一点,我们可以更容易地帮你 –

+0

我已经在地图上绘制了多个注解并缩放到当前位置 –

+0

你只需要缩放到当前位置或几个地点在一个又一个? –

回答

0

您的缩放设置为0,将其增加到15/16像波纹管。 let camera = GMSCameraPosition.camera(withLatitude:lat,longitude:lon,zoom:16)