MKMapView和CLLocationManager

Pat*_*ice 17 iphone objective-c mkmapview cllocationmanager

我想使用MKMapView使用默认的呼吸蓝色针来显示用户当前位置,我想同时记录用户移动.有没有什么方法可以使用GPS管理器(不确定这是否是一个CLLocationManager)MKMapView在我们启用它时显示用户位置?

我知道我可以创建自己的CLLocationManager.但这感觉就像为我的应用程序增加了开销,我希望地图和我的跟踪保持同步.

我已经探索了以下想法但没有成功:

  • 使用[MKMapView showUserLocation:YES]和在userLocation字段上添加KVO .这不起作用,我想知道这是否是由于该userLocation字段是只读的事实.
  • 在请求用户位置的注释视图时[MKMapView showUserLocation:YES],使用,创建MKMapViewDelegate并添加跟踪.这不起作用,因为注释视图显然只被请求一次???
  • 使用a CLLocationManager并尝试手动添加蓝色图钉.不幸的是,我没有在可用的引脚类型中找到蓝色引脚,所以我尝试手动创建用户注释而没有成功.

有没有人知道如何实现这一点,仍然可以从蓝色引脚中受益,或者是我唯一的解决方案,使用a CLLocationManager并创建我自己的引脚?

Gia*_*iao 18

CLLocationManager在其所有实例中使用相同的数据.内部MKMapView使用CLLocationManager's数据.那就是做你想做MKMapView的事情的解决方案就是做自己的事情showUserLocation:.同时,创建一个实例CLLocationManager及其委托.

代表消息将为您提供MKMapView's蓝色针脚的GPS坐标位置.一切都将彼此同步.

  • 您确定CLLocationManager在其所有实例中使用相同的数据吗?如果是这样的话,苹果公司难道不会像UIApplication那样成为单身人士吗? (3认同)
  • 这个答案http://stackoverflow.com/a/5930620/1055722(靠近它的底部)表明CLLocationManager确实*不*在所有实例中共享相同的数据.你碰巧有引用的引用吗? (2认同)