gpt4 book ai didi

iOS - MKMapView - 错误注释

转载 作者:行者123 更新时间:2023-11-29 04:29:21 25 4
gpt4 key购买 nike

我有一个按钮,当按下时我希望它获取用户位置并在其上添加注释。但似乎我按了一次,它在海洋中央添加了注释,然后我的用户位置出现(有效)。我第二次按下它,它会在我的位置上添加注释。

代码:

mapView.showsUserLocation = YES;

MKCoordinateRegion newRegion;

newRegion.center.latitude = mapView.userLocation.location.coordinate.latitude;
newRegion.center.longitude = mapView.userLocation.location.coordinate.longitude;

newRegion.span.latitudeDelta = 0.0004f;
newRegion.span.longitudeDelta = 0.0004f;

[mapView setRegion: newRegion animated: YES];


CLLocationCoordinate2D coordinate;
coordinate.latitude = mapView.userLocation.location.coordinate.latitude;
coordinate.longitude = mapView.userLocation.location.coordinate.longitude;

MKPointAnnotation *annotation = [[MKPointAnnotation alloc] init];

[annotation setCoordinate: coordinate];
[annotation setTitle: @"Your Car"];
[annotation setSubtitle: @"Come here for pepsi"];

[mapView addAnnotation: annotation];
[mapView setZoomEnabled: YES];
[mapView setScrollEnabled: YES];

最佳答案

听起来您是在 CLLocationManager 找到用户位置之前询问它。

通过设置mapView.showsUserLocation = YES;, map View 开始使用locationManager异步定位用户,因此它可能不会立即获得正确的位置。

您需要设置一个自定义的 CLLocationManager 并在按下按钮时启动其位置更新,然后在找到位置时在其委托(delegate)中设置注释。

关于iOS - MKMapView - 错误注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11920419/

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