代码之家  ›  专栏  ›  技术社区  ›  samvermette

mkmappview setRegion不是常量

  •  2
  • samvermette  · 技术社区  · 14 年前

    我正在视图中设置mkmappview区域将出现:这样,用户一看到好的区域,地图就会立即显示出来:

    [mapView setRegion:region animated:NO];
    

    我第一次这样做的时候,我把这个区域修剪成这样:

    alt text

    从那以后,当我开始 完全相同的区域 ,我得到这样的信息:

    alt text

    第二张截图是我从一开始就想得到的 . 我的猜测是我第一次设置区域时,地图视图没有完全加载或沿着这些线的一些东西。我该怎么做才能解决这个问题?

    编辑: 这可能是相关的:在第一次调用viewDidAppear之前向mapView添加注释也不起作用。pinView没有出现。如何确保地图视图已准备好在视图中使用?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Olivier    14 年前

    关于setRegion方法的问题在一段时间前就已经有报道了,我不知道从那以后它们是否已经被修复。看看苹果开发论坛上的以下帖子:

    https://devforums.apple.com/message/57488

        2
  •  1
  •   samvermette    14 年前

    我绊倒了 this thread 建议在 setRegion: 调用(如果仍然需要在viewWillAppear方法中调用它)。有点傻,但很管用。

    - (void)viewWillAppear:(BOOL)animated {
        [self performSelector:@selector(centerMap:) withObject:nil afterDelay:0.01];
    }
    

    我真的很好奇,在没有这个延迟的情况下,mappiew缺少什么来进行正确的重入。

        3
  •  0
  •   RedBlueThing    14 年前

    你试过打电话给 MKMapViewDelegate mapViewDidFinishLoadingMap消息?也许这已经晚到了让这个地区恢复正常的时候了?