以编程方式切换MKUserTrackingBarButtonItem

时间:2018-09-29 03:10:50

标签: swift uinavigationbar mapkit

在我的应用程序中,我向MKUserTrackingBarButtonItem添加了UINavigationBar,从而方便地消除了对CLLocationManager的需求。但是,我希望在应用加载后立即将地图设置为当前位置,而不仅仅是在按下按钮时。另外,我还希望对显示区域的大小有更多的控制。截至目前,我仍然使用默认值。如果实际上有一种方法可以禁用按钮,那么我可以给它自己的功能,那也可以。这是我的代码(尽管我怀疑那里有很多东西可以看到):

let trackingLocationButton: UIBarButtonItem = MKUserTrackingBarButtonItem(mapView: map)
navigationItem.leftBarButtonItem = trackingLocationButton

谢谢!

1 个答案:

答案 0 :(得分:0)

要放大userLocation:

let location = mapView.userLocation
let region = MKCoordinateRegion.init(center: location.coordinate, latitudinalMeters: 500, longitudinalMeters: 500)
mapView.setRegion(region, animated: true)

以编程方式切换MKUserTrackingBarButtonItem:

trackingBBI.perform(trackingBBI.action)

mapView.setUserTrackingMode(.follow, animated: true)