Retain map zoom level while tracking user location
我遇到一个问题,当用户点击按钮时,地图会自动缩小,该按钮将开始跟踪用户的位置更改,就像您点击一次定位按钮时Apple Map应用程序所做的一样。
在设置跟踪模式之前,我尝试再次设置区域,但是它不起作用。 我确实注意到一件事。 仅在用户不更改缩放级别的情况下才会发生,即,如果用户在按下按钮之前捏住地图,则地图的缩放级别会保留。
我试图在代码中模仿它,但是到目前为止,我还没有运气。
我的问题很简单:是否可以为用户跟踪模式设置默认缩放级别? 如果不是,我可以以某种方式模仿用户的捏捏(也许是手势识别器动作吗?)来强制设置范围?
提前致谢!
注意:我已经在Stackoverflow上搜索了答案,仅找到了这样的答案。
我使用的是用户跟踪模式,在我的应用程序设计中它会放大以关闭。 如果我正确理解您的问题,这就是您要寻找的。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @IBAction func getUserLocationPressed(_ sender: AnyObject) { if CLLocationManager.authorizationStatus() == .authorizedWhenInUse { let span = MKCoordinateSpanMake(1.0, 1.0) let location = CLLocationCoordinate2D(latitude: mapView.userLocation.coordinate.latitude, longitude: mapView.userLocation.coordinate.longitude) let coordinateRegion = MKCoordinateRegion(center: location, span: span) mapView.setRegion(coordinateRegion, animated: true) } } |