- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当从我的主视图 Controller 按下 View map 按钮时,我正在加载一个 mapviewcontroller:
- (IBAction)mapButton:(id)sender {
MapKitDisplayViewController *mapKitDisplayView = [[MapKitDisplayViewController alloc] init];
[self presentModalViewController:mapKitDisplayView animated:YES];
[mapKitDisplayView release]; mapKitDisplayView = nil;
}
启动此 map View 时会调用此方法,它会正确缩放到用户位置:
- (void)mapView:(MKMapView *)myMapView didUpdateUserLocation:(MKUserLocation *)userLocation
{
myMapView.showsUserLocation = YES;
NSLog(@"didUpdateUserLocation = '%@'", userLocation);
MKCoordinateRegion region = MKCoordinateRegionMakeWithDistance([userLocation coordinate], 20000, 20000);
[myMapView setRegion:region animated:YES];
}
我在这个屏幕上有一个关闭这个 View 的完成按钮:
- (IBAction)mapDoneButton:(id)sender
{
[self dismissModalViewControllerAnimated:YES];
}
在这个阶段,用户被带回主视图 Controller ,但是当我再次按下 View map 按钮时,didUpdateUserLocation 方法永远不会被调用!因此, map View 缩小到默认 View ,不会像以前那样放大。
如何让它再次被调用?
谢谢
最佳答案
MKMapView
对象不会自行触发用户位置更新。您需要通过设置 showsUserLocation = YES
来激活搜索。然后这将获取用户的位置,然后调用委托(delegate)方法 mapView:didUpdateUserLocation:
。因此,在 viewWillAppear:
上将此值设置为 YES
,一旦您确定了用户位置,就可以将其设置为 NO
以停止跟踪用户。如果您不这样做,它会定期更新用户位置并调用委托(delegate)方法。如果不这样做,用户位置应该是不可靠的。
关于ios - mapView 不缩放第二次尝试使用 didUpdateUserLocation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6213763/
我有一个带有 map 的应用程序,并且希望在更新时缩放到当前位置。 我使用 -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKU
我有一个 mapViewController(在导航 Controller 中)。当我第一次打开它时,在 viewDidLoad 之后,- (void)mapView:(MKMapView *)map
当从我的主视图 Controller 按下 View map 按钮时,我正在加载一个 mapviewcontroller: - (IBAction)mapButton:(id)sender {
我无法调用 MKMapView委托(delegate)方法 didUpdateUserLocation . 到目前为止我做了什么: 添加框架 MapKit.framwork在项目中 在 View Co
我正在尝试使用 MapBox 响应用户在 iOS 应用程序中的位置变化,但未调用 didUpdateUserLocation。为什么不调用 didUpdateUserLocation? ViewCon
我正在使用 Storyboard和 Google map 构建一个 iOS 应用程序。使用 iOS6 - Apple map 有一个方法 -(void)mapView:(MKMapView*)mapV
我在使用 MapKit 制作的应用程序方面需要一些帮助 我正在为 didUpdateUserLocation 苦苦挣扎:- 它总是随机地使应用程序崩溃。当我注释掉所有代码时,它可以完美运行,但这不是合
自从我更新到iOS SDK 8和8.1后,出现了很多问题,包括不再调用CLLocationManager的didUpdateLocations方法。 这里是代码: 在 viewDidLoad 中: l
我创建了一个只有一个 View 的测试应用程序,该 View 包含一个 MKMapView 和一个充当 MapView 委托(delegate)的 Controller 。 当我进行全新构建(在重新安
我从 CLLocationManager 和 MKMapView 获取用户的位置。我应该使用哪一个来设置 map 的中心坐标? 此外,模拟器中的两种方法的答案也不同。 CLLocationManage
我有一个 MKMapView,它应该使用自定义 View (不是蓝点)跟踪用户的位置。为了用这个 View 代替蓝点,我这样返回: - (MKAnnotationView *)mapView:(MKM
我正在尝试围绕用户位置 MKMapView 提供 5 个注释...我在我的 didupdateuserlocation 方法中为注释选择随机值...当我运行我的项目时,所有 5 个注释都显示在同一位置
MKMapViewDelegate mapView:didUpdateUserLocation: 方法在 5.0 模拟器上运行时不会被调用,即使在设备设置中给出了所有位置权限也是如此。 对于 4.3,
当我启动我的应用程序时,它会显示一个带有用户位置的 mapView,但 mapView 不会立即显示 UserLocation,打印一些错误,大约 3 分钟后,它会调用“didUpdateUserLo
我是一名优秀的程序员,十分优秀!