ios - 如何放大用户当前位置?

标签 ios mapkit core-location

当应用程序在 MapKit 中启动时,我想放大用户当前位置。
这是我的代码(在 viewDidLoad 函数中):

Locate=[[CLLocationManager alloc]init];
Locate.delegate=self;
Locate.desiredAccuracy=kCLLocationAccuracyBestForNavigation;
Locate.distanceFilter=kCLDistanceFilterNone;
[Locate startUpdatingLocation];
[super viewDidLoad];

//Region
MKCoordinateRegion myRegion;

//Center
CLLocationCoordinate2D center;
center.latitude=Locate.location.coordinate.latitude;
center.longitude=Locate.location.coordinate.longitude;

//Span
MKCoordinateSpan span;
span.latitudeDelta=0.3f;
span.longitudeDelta=0.3f;
//Set Region
myRegion.center=center;
myRegion.span=span;
[_MyMap setRegion:myRegion animated:YES];

我还实现了 didUpdateLocation功能与之前的代码相同。
问题是当用户位置改变时(当用户移动时)屏幕会放大他但我不能移动屏幕,如果我尝试移动它会立即返回用户位置,所以我不能查看整个 map 。

最佳答案

要缩放 map ,您必须更改区域值意味着中心和跨度。一旦看到这个 Mapview Zoom

在我的情况下,当我单击特定按钮时,我使用这个来移动 map 。

MKCoordinateSpan span = MKCoordinateSpanMake(30.5982f,0.0001f);
        CLLocationCoordinate2D coordinate = {36, 90};
        MKCoordinateRegion region = {coordinate, span};
        MKCoordinateRegion regionThatFits = [self.mapView regionThatFits:region];
        [self.mapView setRegion:regionThatFits animated:YES];

关于ios - 如何放大用户当前位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15833370/

相关文章:

iphone - iOS 上带有路由的静态 map

ios - addressDictionary 已弃用 : first deprecated in iOS 11. 0 - 使用@properties

ios - 在 xamarin iOS 中获取运行时警告

iphone - 应用程序加载时 iOS 内存泄漏

IOS无法正确解码json格式的emoji unicode,Emoji图标显示为正方形

ios - 如何使用 coreLocation 框架在 iOS 7 中计算速度

ios7 - iOS 7 后台获取定位服务

ios - 从 iOS8 中的 gstreamer 解码基本 h264 流

swift - MapKit - 找到路线但未显示

ios - MapKit的startMonitoringForRegion是否保存了区域的引用?