【问题标题】:Why won't MKMapView stop showing user location?为什么 MKMapView 不会停止显示用户位置?
【发布时间】:2012-11-29 16:30:49
【问题描述】:

这与该主题的大多数问题有点相反。我的问题是没有让用户的位置显示;它正在停止显示。

我有一个带有 MKMapView 的视图。我将其区域设置为等于用户当前位置,然后将其设置为不显示用户位置:

- (void)viewDidLoad
{
    [super viewDidLoad];
    AppDelegate *appDelegate=(id)[[UIApplication sharedApplication] delegate];
    [self.mapView setShowsUserLocation:NO];
    [self.mapView setRegion:MKCoordinateRegionMakeWithDistance([appDelegate.locationManager location].coordinate, 1000, 1000)];
    [self.mapView setUserTrackingMode:MKUserTrackingModeNone];
    /*Unrelated code*/
}

即使我将此代码移至 ViewWill/DidAppear,它也不起作用。

我做错了什么?我已经测试了 self.mapView 存在并且不为空——我什至运行了一个调试器命令“po [self.mapView removeFromSuperview]”来确认我有正确的 MKMapView(它消失了,正如预期的那样)。

【问题讨论】:

  • 你检查过 [self.map showsUserLocation] 的输出吗?如果它返回“否”,那么您在那里的任务已经奏效,并且其他东西正在显示您的位置。也许你已经设置了跟踪模式,需要用setUserTrackingMode:animated取消设置
  • 它返回 0,所以我不知道发生了什么。这个视图每次都是新创建的,我不使用跟踪模式......甚至添加 setUserTrackingMode:MKUserTrackingModeNone 也无济于事。
  • 作为附加信息,它显示的位置不会随着时间的推移而更新。 (我有另一个地图视图就是这样做的,所以我可以看到它使用的位置是错误的)。

标签: iphone ios mkmapview


【解决方案1】:

这实际上是一个模拟器错误。

事实证明,iOS 5 模拟器将定位销放入,即使它们不应该这样做。不会在设备上发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-17
    相关资源
    最近更新 更多