gpt4 book ai didi

ios - 可拖动图钉在 map 上没有固定位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:43:50 27 4
gpt4 key购买 nike

目前我正在实现一项功能,用户可以在其中手动更正 map 上的图钉。我已将 annotationView 设置为 annotationView.draggable = YES; 并且我还实现了委托(delegate)方法来接收新坐标。但是我现在如何告诉 mapView 拖动操作现在应该停止并且图钉在 map 上获得其固定位置,即使 map 随后被移动也是如此。

当前的行为是,在将图钉拖动到新位置后,如果我随后移动 map ,图钉的固定位置就在设备屏幕上,而不是在 map 上。

感谢帮助:)。

代表:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState
{
if (newState == MKAnnotationViewDragStateEnding)
{
CLLocationCoordinate2D droppedAt = annotationView.annotation.coordinate;
NSLog(@"Pin dropped at %f,%f", droppedAt.latitude, droppedAt.longitude);
}
}

最佳答案

更新:

好的,修复它:

- (void)mapView:(MKMapView *)mapView annotationView:(MKAnnotationView *)annotationView didChangeDragState:(MKAnnotationViewDragState)newState fromOldState:(MKAnnotationViewDragState)oldState
{
if (newState == MKAnnotationViewDragStateStarting)
{
annotationView.dragState = MKAnnotationViewDragStateDragging;
}
else if (newState == MKAnnotationViewDragStateEnding || newState == MKAnnotationViewDragStateCanceling)
{
annotationView.dragState = MKAnnotationViewDragStateNone;
}
}

现在我只需要坚持新的坐标,我很好..-也许我会为状态添加一些自定义动画..:

When the drag state changes to MKAnnotationViewDragStateStarting, set the state to MKAnnotationViewDragStateDragging. If you perform an animation to indicate the beginning of a drag, and the animated parameter is YES, perform that animation before changing the state.

When the state changes to either MKAnnotationViewDragStateCanceling or MKAnnotationViewDragStateEnding, set the state to MKAnnotationViewDragStateNone. If you perform an animation at the end of a drag, and the animated parameter is YES, you should perform that animation before changing the state.

关于ios - 可拖动图钉在 map 上没有固定位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22073519/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com