【问题标题】:mkmapview.userslocation property set to 0,0 after allowing app to use current location允许应用使用当前位置后,mkmapview.userslocation 属性设置为 0,0
【发布时间】:2009-12-15 05:07:44
【问题描述】:

当用户第一次尝试使用当前位置时,map.userslocation 属性的坐标为 0,0。下次我加载包含地图的视图时,总是会找到用户位置。

我在 viewDidLoad 上将 map.showsUserLocation 属性设置为 YES,当地图加载到屏幕上时,蓝点就在那里,但是当我尝试使用 map.userlocation.coorinate 获取坐标时,它们是 0,0。

程序流程进行 -(无效)viewDidLoad: 1) 将 showUserLocation 设置为 YES 2) 设置一个定时器,在 6 秒后调用一个从 map.userLocation 属性中获取用户位置的方法

-(void) getUsersLocation 1) 打印出用户位置

这个过程在我第一次加载视图后效果很好,但是第一次加载视图并且用户必须授予使用他们的位置的权限,坐标返回 0,0

有人知道为什么会发生这种情况以及我该如何解决吗?

谢谢!

【问题讨论】:

    标签: iphone mkmapview cllocationmanager


    【解决方案1】:

    而不是任意等待六秒钟,您应该实现CLLocationManagerDelegate 并注意何时

    locationManager:didUpdateToLocation:fromLocation:
    

    被调用来为您提供第一次位置更新,这可能需要更多或更少的时间。

    【讨论】:

      【解决方案2】:

      David 是对的,但我注意到有时我确实会使用 0,0 的位置调用该方法。您应该忽略任何此类调用,除非您认为您的应用可能正在非洲西海岸附近的海域使用。

      【讨论】:

        猜你喜欢
        • 2011-04-14
        • 2021-11-24
        • 1970-01-01
        • 1970-01-01
        • 2013-11-26
        • 2016-03-23
        • 2012-12-04
        • 2017-08-12
        • 2010-12-30
        相关资源
        最近更新 更多