mapView的中心点和经纬度跨度 - (void)mapView:(MKMapView *)mapView regionDidChangeAnimated:(BOOL)animated { MKCoordinateRegion region; - (void)setRegion:(MKCoordinateRegion)region animated:(BOOL)animated; ②MKCoordinateRegion // MKCoordinateRegion是一个用来表示区域的结构体,定义如下 typedef struct { CLLocationCoordinate2D center ; // 区域的中心点位置 MKCoordinateSpan span; // 区域的跨度 } MKCoordinateRegion; //MKCoordinateSpan的定义 )mapView regionDidChangeAnimated:(BOOL)animated; */ MKCoordinateSpan span = {1.0, 1.0}; MKCoordinateRegion
} MKCoordinateSpan; typedef struct{ CLLocationCoordinate2D center; MKCoordinateSpan span; }MKCoordinateRegion center.longitude=116.347082; MKCoordinateSpan span; span.latitudeDelta=0.2; span.longitudeDelta=0.2; MKCoordinateRegion
@property (nonatomic) MKCoordinateRegionregion; - (void) setRegion: (MKCoordinateRegion)region animated of the aspect ratio of the map view that contains the given region, with the same center point. - (MKCoordinateRegion ) regionThatFits: (MKCoordinateRegion)region; // Access the visible region of the map in projected coordinates )region toRectToView:(UIView*)view; - (MKCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:( )region toRectToView: (NSView*)view; - (MKCoordinateRegion)convertRect: (CGRect)rect toRegionFromView
//通过设置地图的MKCoordinateRegion达到 -(void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation 跨度,通过这个精细控制显示的地图视角 MKCoordinateSpan span = MKCoordinateSpanMake(0.003, 0.003); //区域 MKCoordinateRegion 区域” //跨度 MKCoordinateSpan span = MKCoordinateSpanMake(0.013, 0.013); //区域 MKCoordinateRegion
typedef struct { CLLocationCoordinate2D center;//地图中心的经纬度 MKCoordinateSpan span;//地图显示的经纬度范围 } MKCoordinateRegion - (void)setRegion:(MKCoordinateRegion)region animated:(BOOL)animated; 这个方法可以在设置后给地图加上动画效果 @property ( convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view; 将视图上的坐标转换为经纬度 - (CGRect)convertRegion:(MKCoordinateRegion )region toRectToView:(UIView *)view; 将地理显示的区域转换为视图上的坐标区域 - (MKCoordinateRegion)convertRect:(CGRect)rect
CLLocationCoordinate2D location = CLLocationCoordinate2DMake(22, 111);//纬度,经度 25 float zoomLevel = 0.01; 26 MKCoordinateRegion
16 MKCoordinateSpan span; 17 span.latitudeDelta=0.1; 18 span.longitudeDelta=0.1; 19 MKCoordinateRegion
self.userCoordinate = newLocation.coordinate; MKCoordinateSpan span = MKCoordinateSpanMake(0.01, 0.01); //地图显示比例尺 MKCoordinateRegion CLLocationCoordinate2D)coordinate { MKCoordinateSpan span = MKCoordinateSpanMake(0.01, 0.01); //地图显示比例尺 MKCoordinateRegion
@property (nonatomic, weak, nullable) id <MKMapViewDelegate> delegate; 6.设置范围 @property (nonatomic) MKCoordinateRegion region; MKCoordinateRegion 区域结构体包含 CLLocationCoordinate2D 经纬度( latitude 纬度, longitude 经度) MKCoordinateSpan 指南针 ---- 方法: 1.以动画的方式设置区域,用于地图中心定位到用户所在位置 - (void)setRegion:(MKCoordinateRegion)region animated:(BOOL
你可以使用这个类在你的程序中显示地图和操作地图 当你初始化一个map view(MKMapView的实例)的时候,你需要指定一个region(MKCoordinateRegion类型)给这个地图。
forControlEvents:UIControlEventTouchUpInside]; } return _zoomInBtn; } //放大方法 - (void)mapZoomIn { MKCoordinateRegion forControlEvents:UIControlEventTouchUpInside]; } return _zoomOutBtn; } //缩小方法 - (void)mapZoomOut { MKCoordinateRegion
附近兴趣点检索 兴趣点检索的逻辑和导航线路检索的逻辑相似,直接通过代码来演示: //创建一个位置信息对象,第一个参数为经纬度,第二个为纬度检索范围,单位为米,第三个为经度检索范围,单位为米 MKCoordinateRegion
self.userLocation.coordinate.longitude) *3; MKCoordinateSpan span = MKCoordinateSpanMake(latitudeSpan, longitudeSpan); MKCoordinateRegion
) let span = MKCoordinateSpan(latitudeDelta: 2.0, longitudeDelta: 2.0) let region = MKCoordinateRegion
setRegion() { if let location = location { // 设置范围,显示地图的哪一部分以及显示的范围大小 let region = MKCoordinateRegion
view.annotations) view.removeOverlays(view.overlays) if let center = center { view.setRegion(MKCoordinateRegion