似乎是一项非常简单的任务,但由于某种原因它无法正常工作。

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

    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)
}

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

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

非常感谢!

编辑: ps:我正在使用本教程:link,它位于添加新位置的第15分钟

最佳答案

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

self.view = self.mapView

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

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

关于ios - Google Maps sdk-不会将 View 移到新点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41090024/

10-10 21:09