地图

1  sb里 MapKitView

拖入后,直接使用  

代码里导入,继续报错

在这里导入,问题解决: Xcode5之后,程序会默认导入框架,在SB中,实例化的时候先走的是SB里的控制器,随后走的是代码里的使用UIKit之外的框架必须导入

苹果地图的代理商是高德,数据时苹果公司的

地图MKMapView

地图类型MKMapTypeStandard 标准  MKMapTypeStatellite 卫星  MKMapTypeHybrid鸟瞰,混合  self.mapView.mapType = MKMapTypesStandard;

设置实时交通状况   self.mapView.showsTraffic = YES;

显示用户位置self.mapView.userTrackingMode = MKUserTrackingModeFollow;

MKUserTrackingModeFollow 跟踪用户的位置;MKUserTrackingModeFollowWithHeading跟踪用户的位置和方向


地图中,显示用户位置必须请求用户授权     创建持续请求

@property(nonautomic,strong)CLLocationManager locationManager;

[self.locationManager requestWhenInUseAuthorization];


2  设置地图代理 self.mapView.delegate = self;

定位到用户位置的时候调用   didUpdateuserLocaiton:userLocation

userLocation:蓝色光圈  大头针     标题:userLocation.title = @"上海"; 子标题:userLocation.subtitle = @"浦东";

反地理编码拿到地标,通过地标给蓝色光圈赋值

具体实现

地图_第1张图片
地图_第2张图片


3  实现功能,回到当前位置:  在地图上点击查看 其他位置后,实现定位点 居中 并回到当时的大小层级结构

self.mapView.centerCoordinate = self.mapView.userLocation.location.coordinate;

确定区域:中心点经纬度  经纬度跨度

经纬度跨度:MKCoordinateSpan = MKCoordinateSpanMake(2.0,2.0);

self.mapView.region = MKCoordinateRegionMake(self.mapView.userLocation.location.coordinate,span);


//当地图的区域改变时调用

地图_第3张图片

set方法,添加动画效果



4放大和缩小地图

放大地图就是区域中的经纬度跨度* 0.5

缩小地图就是经纬度跨度 * 2

地图_第4张图片

点击后会 返回到 用户当前位置的 中心点

优化:

地图_第5张图片

你可能感兴趣的:(地图)