Sor*_*ban 5 mapkit mkmapview mkannotation ios
我正在我的应用程序中实现一个地图功能,我允许用户通过平移来设置他们当前的位置.
这一切的时候,我想有一个MKAnnotation在centerCoordinate.所以我想要做的是跟踪地图的centerCoordinate何时更改并正确更改注释的坐标.这种行为与Uber,Hailo和其他人的行为类似.
我尝试了基于时间的实现,每一个0.00001s的centerCoordinate将进行检查和注释也将被移动.但是如果地图没有轻轻地轻弹,那么注释会从一个地方跳到另一个地方,这不会形成一个好的UI.
我尝试的另一个实现是通过手势识别器和MKMapView(regionDidChange/ regionWillChange)的委托方法.这再次成为一个非常突然的过渡.
任何人都可以告诉我如何更好地做到这一点?
小智 27
我建议不要使用实际id<MKAnnotation>(至少对于这种"当前位置设置"模式).
代替:
UIImageView),其中包含图钉(或任何您喜欢的图标). UIImageView,请将其内容模式设置为"center",将背景颜色设置为"clear".mapView.centerCoordinate的regionDidChangeAnimated:委托方法(或平移/缩放手势识别器),或者只有当用户说他们正在做定位.我不建议使用计时器(尤其是每0.00001秒)来查询当前的中心坐标.