我在我的地图中实现了MKUserTrackingButton,但问题是有时按下它时,它会缩小地图然后以用户的当前位置为中心。我想要做的只是以用户的位置为中心而不缩小。
有办法吗?
MKUserTrackingButton是否有一个我可以更改的属性,以便在点击它时,它只会使地图居中而不是缩小?
以下是添加按钮的代码:
let Userbutton = MKUserTrackingButton(mapView: mapview)
Userbutton.layer.backgroundColor = UIColor(white: 1, alpha: 0.8).cgColor
Userbutton.layer.borderColor = UIColor.white.cgColor
Userbutton.layer.borderWidth = 1
Userbutton.layer.cornerRadius = 5
Userbutton.translatesAutoresizingMaskIntoConstraints = false
Userbutton.heightAnchor.constraint(equalToConstant: 50).isActive = true
Userbutton.widthAnchor.constraint(equalToConstant: 50).isActive = true
mapview.addSubview(Userbutton)
mapview.addConstraintsWithFormat(format: "H:[v0]-10-|", views: Userbutton)
mapview.addConstraintsWithFormat(format: "V:[v0]-70-|", views: Userbutton)
答案 0 :(得分:0)
MKUserTrackingButton是否有一个我可以更改的属性,以便在点击它时,它只会使地图居中而不是缩小?
不,当点击MKUserTrackingButton时,它可能会也可能不会更改地图的缩放级别,具体取决于与用户位置的距离等因素。
有办法吗?
您可以使用Core Location获取用户的位置,然后直接设置地图的中心坐标,而不更改其缩放级别。
或者更简单,如果您的地图已经显示了用户的位置,您可以从地图的userLocation
属性中获取其坐标。