似乎是一项非常简单的任务,但出于某种原因,它并不起作用。
我初始化地图并以这种方式放置第一个位置:
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分钟添加了新位置
答案 0 :(得分:1)
我通过移动解决了这个问题:
self.view = self.mapView
行后:
self.mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
我想原因是我需要在地图初始化后分配到视图。