我在搜索了idleAtCameraPosition和didChangeCameraPosition之后知道了这个方法在地图移动时被调用。 我如何为swift编写这个方法?我已将委托设置为CLLocationManagerDelegate和GMSMapViewDelegate,但仍未调用此方法。我写的方法如下:
func mapView(mapView: GMSMapView!, didChangeCameraPosition position: GMSCameraPosition!) {
print(position)
}
func mapView(mapView:GMSMapView!,idleAtCameraPosition position:GMSCameraPosition!)
{
print(position)
}
但是我的方法没有被调用。 另外,我想自定义信息窗口,就像在这里完成一样:Custom Info Window for Google Maps。但是无法在swift中找到如何做同样的方法。我很快就没有得到这个。
答案 0 :(得分:6)
可能为时已晚,但您必须使用GMSMapViewDelegate扩展该类。例如:
class NearMeViewController: CLLocationManagerDelegate, GMSMapViewDelegate
然后,Ztan如何说,你必须用你的地图委派地图:
self.mapView.delegate = self
这样,每次相机的位置发生变化时,方法didChangeCameraPosition
都会响应。
希望它有所帮助。
答案 1 :(得分:3)
您需要在班级顶部导入GMSMapViewDelegate
将self.mapView.delegate = self放在viewDidLoad()
中然后你可以使用这个方法
func mapView(mapView: GMSMapView, idleAtCameraPosition position: GMSCameraPosition) {
// You can use the position.target for get the current camera position
}