gpt4 book ai didi

ios - 如何使用蓝点在我的 MKMapView 上显示我的当前位置和区域?

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

我正在尝试为 iOS 和 Storyboard创建虚拟 map View 演示,以允许获取当前用户位置。在执行时,我必须滚动和滑动才能找到我的当前位置,但不会被设置在我当前位置附近的区域。为了实现这一点,我应该实现什么,例如使用 MK 坐标或 MKMap 区域?下面是我的 .m 实现代码。

- (void)viewDidLoad
{
[super viewDidLoad];

[_mapView setCenterCoordinate:_mapView.userLocation.location.coordinate animated:YES];
MKAnnotationView *userLocationView = [_mapView viewForAnnotation:_mapView.userLocation];
[userLocationView.superview bringSubviewToFront:userLocationView];
}

最佳答案

MAPKIT

首先让您的 map 显示您的当前位置。

 _mapView.showsUserLocation   =   YES; // This will show the blue dot on map at your current location.

现在设置区域以放大您当前的位置。

MKCoordinateRegion region;
region.center.latitude = _mapView.userLocation.coordinate.latitude;;
region.center.longitude = _mapView.userLocation.coordinate.longitude;;

region.span.latitudeDelta = 0.001;
region.span.longitudeDelta = 0.001;

MKCoordinateRegion scaledRegion = [_mapView regionThatFits:region];
[_mapView setRegion:scaledRegion animated:NO];

请确保在您的位置在 map 上可见或您的 map 已完全加载后设置区域。您可以利用委托(delegate)..

- (void)mapViewWillStartLoadingMap:(MKMapView *)mapView;
- (void)mapViewDidFinishLoadingMap:(MKMapView *)mapView;

如果你想由用户自己管理 UserLocation..您可以使用 CLLocationManager类初始化它并使用它的委托(delegate)来获取用户当前位置的更新。

CLLocationManager *locationManager  =           [[CLLocationManager alloc]init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.pausesLocationUpdatesAutomatically = NO;
[locationManager setDelegate:self];

//委托(delegate)

- (void) locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
// Use New Location to show your custom marker or do any thing you want.
}

为了在模拟器中进行调试,您可以设置 GPS 位置转到模拟器选项 DEBUG-->LOCATION ..您可以添加自定义位置,也可以从可用位置中进行选择。

希望对您有所帮助。 :)

关于ios - 如何使用蓝点在我的 MKMapView 上显示我的当前位置和区域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23559974/

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