iphone应用程序:关于CLLocationmanager和MKMapView之间交互的问题(显示当前用户位置)
在我的iPhone应用程序中,我有以下逻辑:iphone应用程序:关于CLLocationmanager和MKMapView之间交互的问题(显示当前用户位置),iphone,gps,mkmapview,cllocationmanager,Iphone,Gps,Mkmapview,Cllocationmanager,在我的iPhone应用程序中,我有以下逻辑: 启动CLLocationManager(用户可以向locationmanager提供精度和距离过滤器参数,因为在我的情况下不需要最佳精度,100-300米就可以了,我想在这方面节省电池) LocationManager获得GPS定位后(仅当获得此定位时),我创建并显示地图。CLLocationManager和MKmapView都是同一个ViewController的一部分。要显示当前位置,我将mapView.showsUserLocation:YES
showsUserLocation
属性导致mapView使用最高精度设置启动CLLocationManager
实例(1m距离过滤器,最佳精度),然后在location manager返回更新时更新其蓝色圆圈批注视图。它还根据位置更新的水平精度更新圆形覆盖。我相信CLLocationManager
的此实例与您自己可能启动的任何实例是分开的,因为我还运行了段落中的CLLocationManager
保持水平,并且看不到来自地图视图当前位置更新的任何干扰
因此,如果您不希望MKMapView
运行自己的高精度位置管理器实例,请禁用showsUserLocation
,并根据CLLocationManager
的位置更新创建并手动更新您自己的当前位置MKAnnotationView
。您还可以缩放到新的更新这是适用的
我知道这本质上是对轮子的重新发明,但我相信这是根据苹果提供的工具获得你想要的功能的唯一途径。如果其他人知道,请插话,因为我也会感兴趣