谷歌地图sdk - 不会将视图移动到新的点

时间:2016-12-11 19:12:16

标签: ios swift google-maps gmsmapview

似乎是一项非常简单的任务,但出于某种原因,它并不起作用。

我初始化地图并以这种方式放置第一个位置:

    self.view = self.mapView
    self.mapView?.isMyLocationEnabled = true

    let KBPLocation = CLLocationCoordinate2DMake(50.341707, 30.893606)
    let camera = GMSCameraPosition.camera(withLatitude: KBPLocation.latitude, longitude: KBPLocation.longitude, zoom: 12)
    self.mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)

然后我有一个这样做的功能:

func moveToNextLocation()   {
        self.mapView?.camera = GMSCameraPosition.camera(withLatitude: 37.778577, longitude: -122.419063, zoom: 15)
}

我希望它将地图移动到新的点。但它并没有。 如果我将这一行添加到我的函数self.view = self.mapView中它会起作用,但它没有从一个点到另一个点的过渡动画,但它只是立即显示位置。我认为这不是一个正确的方法,可以再次将mapView分配给view

请帮我弄清楚它为什么不移动?

非常感谢!

编辑: ps:我正在使用本教程:link并且它在第15分钟添加了新位置

1 个答案:

答案 0 :(得分:1)

我通过移动解决了这个问题:

self.view = self.mapView

行后:

self.mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)

我想原因是我需要在地图初始化后分配到视图。