1. 如果使用storyBoard,MKMapView控件必须手动把框架导入项目,因为程序启动会首先去sb中加载,不会走代码中导入的类库
2. 关于获取用户信息,iOS 8之后需要请求用户授权,requestWhenInUseAuthorization和requestAlwaysAuthorization,一般情况是获取用户当前的位置,[locationManagerstartUpdatingLocation]开始更新就是开始获取位置,获取一次之后就停止,在代理方法中停止[managerstopUpdatingLocation]。这也是一个省电措施:定位一次用户的位置就停止,当用户位置改变一定距离,再次定位一次。
2. allowsBackgroundLocationUpdates,只适用于whenInUse,可以开启后台运行
3. region属性,包含经度纬度,经纬度跨度
4. 关于CLLocationManager对象的代理方法,返回用户当前的位置,点不变,区域是系统区域。关于放大缩小,点是地图的中心,还要改变经纬度的跨度
5. 大头针其实就是一个模型,但是需要遵守协议。大头针改变颜色,和tableViewCell的代理方法一样,需要使用代理。大头针左右的辅助视图可以自定义,如果设置了中间的详情辅助view会覆盖子标题
6. 用户当前的位置的蓝色圆点也是一个大头针,在改变大头针的代理方法中,如果不想改变用户当前位置的蓝色圆点,可以判断哪个是系统的大头针,直接返回nil