MapKit中是否有专用按钮将摄像头集中在用户位置?或者我是否必须手动创建按钮并切换mapView.showsUserLocation = true?
解决方法
这种方式运行良好(
Swift),您可以自定义按钮:
class YourViewController{ ... @IBOutlet weak var mapView:MKMapView ... override func viewDidLoad() { super.viewDidLoad() ... addMapTrackingButton() } func addMapTrackingButton(){ let image = UIImage(named: "trackme") as UIImage? let button = UIButton(type: UIButtonType.System) as UIButton button.frame = CGRectMake(5,5,35,35) button.setImage(image,forState: .Normal) button.backgroundColor = .clearColor() button.addTarget(self,action: #selector(YourViewController.centerMapOnUserButtonClicked),forControlEvents:.TouchUpInside) self.mapView.addSubview(button) } func centerMapOnUserButtonClicked() { self.mapView.setUserTrackingMode( MKUserTrackingMode.Follow,animated: true) } ... }
斯威夫特4:
func addMapTrackingButton(){ let image = UIImage(named: "trackme") as UIImage? let button = UIButton(type: UIButtonType.custom) as UIButton button.frame = CGRect(origin: CGPoint(x:5,y: 25),size: CGSize(width: 35,height: 35)) button.setImage(image,for: .normal) button.backgroundColor = .clear button.addTarget(self,action: #selector(ViewController.centerMapOnUserButtonClicked),for:.touchUpInside) mapView.addSubview(button) } @objc func centerMapOnUserButtonClicked() { mapView.setUserTrackingMode(MKUserTrackingMode.follow,animated: true) }