我有一个占据全屏的 MapView 和一些覆盖地图的屏幕顶部的元素。这些顶部元素可能会覆盖蓝色位置标记。
该地图目前正在使用 MKUserTrackingModeFollow 进行良好的跟踪,但我想将跟踪焦点向下移动大约一英寸(显然该指标会因缩放级别而异)以确保不覆盖标记。有没有办法用 MKUserTrackingModeFollow 做到这一点?
我考虑过使用顶部元素移动地图,但由于设计限制,这不是一个选择。
除了使用userTrackingMode
MKMapView 对象来跟踪用户的位置,您还可以设置一个委托CLLocationManager
来接收位置跟踪事件,并且随着您收到的每个位置更新事件,设置地图视图的中心坐标,并添加您的垂直偏移量到坐标值。
您可以使用各种Map Kit 函数和 MKMapView 方法将您的偏移量从地图视图的一部分bounds.height
转换为 MKMapPoint 或 CLLocationDistance 值。