gpt4 book ai didi

swift - 对 Mapkit 对象值变化使用react

转载 作者:行者123 更新时间:2023-11-30 12:28:38 24 4
gpt4 key购买 nike

我希望对 Mapkit 当前位置点做出实时 react 。我可以使用 LocationManager 以间隔获取位置,但是注释以更流畅的方式移动。我想捕捉这个 Action 。有没有办法观察点 UIView 或坐标的位置而不是使用react,在我的例子中是连接到 MKPolyline 端点。

最佳答案

您需要创建自己的用户位置 View ,然后向其中添加观察者:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(ClubPinAnnotation *)annotation {

// If the annotation is the user location, create and return our own dot view
if ([annotation isKindOfClass:[MKUserLocation class]]) {
MKAnnotationView *userView = [[MKAnnotationView alloc] initWithFrame:CGRectMake(-5, -5, 10, 10)];
userView.layer.cornerRadius = 5;
userView.backgroundColor = [UIColor blueColor];

// Observe its on-screen position
[userView addObserver:self forKeyPath:@"layer.position" options:NSKeyValueObservingOptionNew context:nil];

return userView;
}

... continue processing the other map annotations
}

然后观察屏幕上图钉的位置:

- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {

MKAnnotationView *userView = (MKAnnotationView *)object;

NSLog(@"User view:%@", userView);
}

关于swift - 对 Mapkit 对象值变化使用react,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43863688/

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