我已经在我的地图中实现了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)发布于 2018-05-30 07:23:12
MKUserTrackingButton是否有一个我可以修改的属性,当点击它时,它只会将地图居中,而不是缩小?
不会,当点击MKUserTrackingButton时,它可能会改变地图的缩放级别,也可能不会改变,这取决于与用户位置的距离等因素。
有办法做到这一点吗?
您可以使用Core Location来获取用户的位置,然后直接设置地图的中心坐标,而无需更改其缩放级别。
或者更简单,如果您的地图已经显示了用户的位置,您可以从地图的userLocation属性中获取其坐标。
https://stackoverflow.com/questions/50177559
复制相似问题