iOS MBMapkit  v1.0 beta
公有成员 | 属性
MBMapView类参考

MBMapView 对象提供可嵌入的地图界面,类似于地图应用提供的界面。你直接使用这个类来显示地图信息、在应用中控制地图的 内容。你可以给定一个坐标作为地图的中心,指定想要显示的范围的大小,使用自定义的信息标注地图。
在你初始化地图视图的时候,你需要指定地图显示的初始范围。你可以通过设置 region 属性来完成这个操作。范围是由中心点 和水平与竖直距离(跨度)定义。跨度决定了在给定点的下多少地图可视,同时你可以用它设置缩放等级。指定一个大的跨度将导致 用户看见一个大的地理区域对应一个低的缩放等级。指定一个小的跨度将导致用户看见一个更狭窄的地理区域对应一个高的缩放等级。
除了通过编码设置跨度外, MBMapView 类支持许多标准接口用于改变地图的位置和缩放等级。特别的,地图视图支持双击和双 指手势来滚动、放大和缩小地图。默认启用这些手势,但可以通过设置 scrollEnabled 和 zoomEnabled 属性来禁用手势。
数据类型 MBMapPointMBMapSizeMBMapRect 用来指定地图上的位置和距离。你可以使用这些类型的数据来指定 地图的可视范围和指定覆盖层的位置。
你可以提供一个委托对象来获得地图视图运行的信息。地图视图调用你自定义委托的方法让委托知道地图状态的改变同时调整自定 义标注的显示, 下面的“标注地图”中将有更加详细的描述。委托的对象可以是你应用中的任何对象只要它遵从 MBMapViewDelegate 协议。参考 MBMapViewDelegate 可以获得更多实现委托对象的信息。 更多...

#import <MBMapView.h>

继承图,类MBMapView
<MBReverseGeocoderDelegate>

所有成员的列表。

公有成员

(void) - setRegisterCode:
 设置图吧家园注册码
(id) - initWithFrame:withLocal:
 实例化地图视图。
(unsigned long long) - totalBytesSended
 返回地图视图总的数据发送量。
(unsigned long long) - totalBytesReceived
 返回地图视图总的数据接收量。
(void) - setRegion:animated:
 改变当前可视区域,可选采用动画效果改变。
(void) - setCenterCoordinate:animated:
 改变地图的中心坐标,可选采用动画效果改变。
(MBCoordinateRegion- regionThatFits:
 调整指定范围的长宽比以确保它和地图试图的框架匹配。
(void) - setVisibleMapRect:animated:
 改变地图的当前可视部分,可选采用动画效果改变。
(MBMapRect- mapRectThatFits:
 调整指定地图矩形的长宽比以确保它和地图视图的框架匹配。
(void) - setVisibleMapRect:edgePadding:animated:
 改变地图的当前可视部分,同时允许指定边缘额外的间隔。
(MBMapRect- mapRectThatFits:edgePadding:
 加上指定的插值调整指定地图矩形的长宽比。
(CGPoint) - convertCoordinate:toPointToView:
 转换地图坐标到指定视图中的点。
(CLLocationCoordinate2D) - convertPoint:toCoordinateFromView:
 转换指定视图坐标系中的点到地图坐标。
(CGRect) - convertRegion:toRectToView:
 转换地图范围到指定视图中的矩形。
(MBCoordinateRegion- convertRect:toRegionFromView:
 转换指定视图坐标系中的矩形到地图范围。
(void) - addAnnotation:
 向地图视图中添加指定的标注。
(void) - addAnnotations:
 向地图视图中添加一组标注。
(void) - removeAnnotation:
 从地图视图中移除指定的标注。
(void) - removeAnnotations:
 从地图视图中移除一组指定的标注对象。
(NSSet *) - annotationsInMapRect:
 返回所有位于指定地图矩形内的标注。
(MBAnnotationView *) - viewForAnnotation:
 如果有的话返回和指定标注关联的标注视图。
(MBAnnotationView *) - dequeueReusableAnnotationViewWithIdentifier:
 通过标识符返回可复用的标注视图。
(void) - selectAnnotation:animated:
 选中指定的标注,并显示弹出气泡。
(void) - deselectAnnotation:animated:
 取消选择指定的标注同时隐藏它的弹出气泡。
(void) - addOverlay:
 向地图中添加一个覆盖层。
(void) - addOverlays:
 向地图中添加一组覆盖层。
(void) - removeOverlay:
 从地图视图中移除一个覆盖层。
(void) - removeOverlays:
 从地图中移除一个或多个覆盖层。
(void) - insertOverlay:atIndex:
 插入一个覆盖层到和地图关联的覆盖层对象列表中。
(void) - exchangeOverlayAtIndex:withOverlayAtIndex:
 交换两个覆盖层的位置。
(void) - insertOverlay:aboveOverlay:
 插入一个覆盖层到另一个的上面。
(void) - insertOverlay:belowOverlay:
 插入一个覆盖层到另一个的下面。
(MBOverlayView *) - viewForOverlay:
 如果有的话返回和指定覆盖层相关的视图。

属性

id< MBMapViewDelegatedelegate
 接收者的委托。
MBCoordinateRegion region
 地图视图当前显示的范围。
CLLocationCoordinate2D centerCoordinate
 地图视图中心的地图坐标。
MBMapRect visibleMapRect
 地图视图当前显示的区域。
MBMapType mapType
 地图视图的数据类型。
BOOL zoomEnabled
 确定用户是否能够通过手势对地图进行缩放的布尔值。
BOOL scrollEnabled
 确定用户是否能够缩放地图的布尔值。
BOOL showsScale
 指示是否显示比例尺的布尔值。
BOOL showsTraffic
 指示是否现实交通流量的布尔值。
BOOL showsUserLocation
 指示地图是否显示用户位置的布尔值。
MBUserLocationuserLocation
 代表用户当前位置的标注对象。
BOOL userLocationVisible
 指示设备的当前位置在地图视图中是否可视的布尔值。
NSArray * annotations
 接收者关联的标注的完整列表。
NSArray * selectedAnnotations
 当前选中的标注。
CGRect annotationVisibleRect
 当前标注视图显示的可视矩形。
NSArray * overlays
 当前和地图视图关联的覆盖层。

详细描述

MBMapView 对象提供可嵌入的地图界面,类似于地图应用提供的界面。你直接使用这个类来显示地图信息、在应用中控制地图的 内容。你可以给定一个坐标作为地图的中心,指定想要显示的范围的大小,使用自定义的信息标注地图。
在你初始化地图视图的时候,你需要指定地图显示的初始范围。你可以通过设置 region 属性来完成这个操作。范围是由中心点 和水平与竖直距离(跨度)定义。跨度决定了在给定点的下多少地图可视,同时你可以用它设置缩放等级。指定一个大的跨度将导致 用户看见一个大的地理区域对应一个低的缩放等级。指定一个小的跨度将导致用户看见一个更狭窄的地理区域对应一个高的缩放等级。
除了通过编码设置跨度外, MBMapView 类支持许多标准接口用于改变地图的位置和缩放等级。特别的,地图视图支持双击和双 指手势来滚动、放大和缩小地图。默认启用这些手势,但可以通过设置 scrollEnabled 和 zoomEnabled 属性来禁用手势。
数据类型 MBMapPointMBMapSizeMBMapRect 用来指定地图上的位置和距离。你可以使用这些类型的数据来指定 地图的可视范围和指定覆盖层的位置。
你可以提供一个委托对象来获得地图视图运行的信息。地图视图调用你自定义委托的方法让委托知道地图状态的改变同时调整自定 义标注的显示, 下面的“标注地图”中将有更加详细的描述。委托的对象可以是你应用中的任何对象只要它遵从 MBMapViewDelegate 协议。参考 MBMapViewDelegate 可以获得更多实现委托对象的信息。

标注地图

MBMapView类支持使用自定义的信息标注地图。因为地图可能有大量潜在的标注。地图视图区分管理标注数据的标注对象和在地图 上展示这个数据的视图对象。
标注对象可以上任何遵守 MBAnnotation 协议的对象。通常使用应用中数据模型已有的类来实现标注对象。这样你可以直接控制 标注数据,而且还使它在地图视图中可用。每个标注对象包含了标注在地图的位置信息以及可以在弹出气泡中显示的描述信息。
标注视图是一个 MBAnnotationView 类的实例,用于处理标注对象在地图中的表示。标注视图的负责用意义的方式展示标注数据。 例如,地图应用使用一个大头针图标表示地图上的一个兴趣点。(Map Kit框架提供 MBPinAnnotationView 类作为应用中类似 的标注)。你还可以创建的覆盖更大部分地图的标注视图。
因为标注视图只有在屏幕内时才被需要, MBMapView 类采用了一个算法把未使用的标注视图放到队列。带有标识符的标注视图 移出屏幕后将被地图视图内部的分离并放到队列。这个特征通过只让少量的标注视图保持在内存中及回收这些你有的视图的方式来提高 内存的利用。同时这样还通过避免在地图滚动时创建新的视图来提高滚动的性能。
在配置地图界面的时候,你需要立刻添加所有的标注对象。地图视图使用每个标注对象的坐标数据来决定对应的标注视图什么时候 需要显示在屏幕上。当标注移进屏幕后,地图视图请求自己的委托来创建对应的标注视图。如果应用中有多种不同的标注,可以定义不 同的标注视图类表示每种类型。

向地图中添加覆盖层

你可以使用覆盖层显示覆盖地图较大区域的内容。覆盖层可以是任何遵守 MBOverlay 协议的对象。覆盖层对象是一个包含了许多用 于指定覆盖层形状和大小以及在地图中位置的点的数据对象。覆盖层可以表示圆形、矩形和多分割的线条,还有简单或复杂的多边形。 你还可以定义自己的覆盖层来表示其它的形状。
标注视图是一个 MBOverlayView 类的实例,用于处理覆盖层对象在地图中的显示。覆盖层视图的任务是在地图上层绘制表示覆 盖层的形状。例如,一个表示公交路线的覆盖层可能的覆盖层视图绘制了路线的路径同时沿着路线带有显示公交站的图标。Map Kit 框架给几种标准的覆盖层对象定义了覆盖层视图,如果有需要你可以定义别的覆盖层视图。在配置地图界面的时候,你可以在任何时候 添加覆盖层对象。地图视图根据每个覆盖层的数据决定对应的覆盖层视图什么时候需要显示在屏幕上。当覆盖层移进屏幕时,地图视图 请求自己的委托创建对应的覆盖层视图。


成员函数文档

- (void) addAnnotation: (id< MBAnnotation >)  annotation

向地图视图中添加指定的标注。

参数:
annotation添加到接收者的标注对象。
参见:
- addAnnotations:
- removeAnnotation:
注解:
对象必须遵守 MBAnnotation 协议。地图视图将保留指定的对象。
- (void) addAnnotations: (NSArray *)  annotations

向地图视图中添加一组标注。

参数:
annotations一组标注对象。
参见:
- addAnnotations:
- removeAnnotation:
注解:
对象必须遵守 MBAnnotation 协议。地图视图将保留指定的对象。
- (void) addOverlay: (id< MBOverlay >)  overlay

向地图中添加一个覆盖层。

参数:
overlay将要添加的覆盖层对象。对象必须遵守MBOverlay协议。
注解:
指定的对象将被添加到覆盖层对象列表的最后。添加一个覆盖层将引起地图视图监测覆盖层表示的范围。一旦覆盖层的边框和地图可视 部分相交,地图视图添加相应的覆盖层视图到地图中。覆盖层视图由地图视图的委托对象调用 mapView:viewForOverlay: 方法 提供。
要从地图中移除一个覆盖层,你必须调用 removeOverlay: 方法来移除覆盖层对象。
- (void) addOverlays: (NSArray *)  overlays

向地图中添加一组覆盖层。

参数:
overlays一组对象,每个对象必须遵守MBOverlay协议。
注解:
指定的对象将被添加到覆盖层对象列表的最后。添加一个覆盖层将引起地图视图监测覆盖层表示的范围。一旦覆盖层的边框和地图可视 部分相交,地图视图添加相应的覆盖层视图到地图中。覆盖层视图由地图视图的委托对象调用 mapView:viewForOverlay: 方法 提供。
要从地图中移除一个覆盖层,你必须调用 removeOverlay: 方法来移除覆盖层对象。
- (NSSet *) annotationsInMapRect: (MBMapRect mapRect

返回所有位于指定地图矩形内的标注。

参数:
mapRect你想要搜索标注的地图部分。
返回:
返回一组mapRect内的所有标注对象。
注解:
本方法提供了一个快速的方式用于检索指定地图部分的标注对象。这个方法比你自己用 annotations 进行线性搜索快很多。
- (CGPoint) convertCoordinate: (CLLocationCoordinate2D)  coordinate
toPointToView: (UIView *)  view 

转换地图坐标到指定视图中的点。

参数:
coordinate你想找到对应点的地图坐标。
view你想把指定地图坐标放到它的坐标系的视图。如果这个参数是nil,返回的点将指定在视窗坐标系。如果view不是nil, 它必须和地图视图隶属于同一视窗。
返回:
和指定经纬度值对应的点(在适当的视图或视窗坐标系中)。
- (CLLocationCoordinate2D) convertPoint: (CGPoint)  point
toCoordinateFromView: (UIView *)  view 

转换指定视图坐标系中的点到地图坐标。

参数:
point你想要转换的点。
view给point参数提供参考坐标系的视图。
返回:
指定点的地图坐标。
- (MBCoordinateRegion) convertRect: (CGRect)  rect
toRegionFromView: (UIView *)  view 

转换指定视图坐标系中的矩形到地图范围。

参数:
rect你想要转换的矩形。
view给rect参数提供参考坐标系的视图。
返回:
指点视图矩形对应的地图范围。
- (CGRect) convertRegion: (MBCoordinateRegion region
toRectToView: (UIView *)  view 

转换地图范围到指定视图中的矩形。

参数:
region你想要找到对应视图矩形的地图范围。
view该视图是你想把指定地图范围放到它的坐标系。如果这个参数是nil,返回的矩形将指定在视窗坐标系。如果view不 是nil,它必须和地图视图隶属于同一视窗。
返回:
返回指定地图范围对应的矩形。
- (MBAnnotationView *) dequeueReusableAnnotationViewWithIdentifier: (NSString *)  identifier

通过标识符返回可复用的标注视图。

参数:
identifier标识标注视图复用的字符串。这和你调用 initWithAnnotation:reuseIdentifier: 方法初始化标注 视图中的标识符是同一字符串。
返回:
含有指定标识符的标注视图,或者当复用队列中不存在这种对象时则为nil。
注解:
出于性能考虑,你一般需要在地图视图中复用 MBAnnotationView 对象。一旦标注视图移出屏幕,地图视图把它们移动到一个内 部管理的复用队列。一旦新的标注移进屏幕,并且你的代码打算提供一个对应的标注视图,你总应该在创建一个新的视图前尝试重用 一个存在的。重用在执行滚动这类关键操作时节省了时间和内存。
- (void) deselectAnnotation: (id< MBAnnotation >)  annotation
animated: (BOOL)  animated 

取消选择指定的标注同时隐藏它的弹出气泡。

参数:
annotation将要取消选择的标注对象。
animated如果YES,弹出气泡将动画移出屏幕。
返回:
含有指定标识符的标注视图,或者当复用队列中不存在这种对象时则为nil。
- (void) exchangeOverlayAtIndex: (NSUInteger)  index1
withOverlayAtIndex: (NSUInteger)  index2 

交换两个覆盖层的位置。

参数:
index1第一个对象在overlays数组中的索引。
index2第二个对象在overlays数组中的索引。
注解:
如果两个覆盖层都有对应的视图,视图的位置同时也更新。因此,当覆盖层视图显示在地图视图时交换它们同时将影响它们的z轴顺序。
- (id) initWithFrame: (CGRect)  frame
withLocal: (BOOL)  doLocal 

实例化地图视图。

参数:
frame地图视图框架
doLocal是否使用本地缓存数据。
注解:
如果doLocal为YES,地图将缓存下载的地图数据。
- (void) insertOverlay: (id< MBOverlay >)  overlay
aboveOverlay: (id< MBOverlay >)  sibling 

插入一个覆盖层到另一个的上面。

参数:
overlay将要插入的覆盖层。
sibling一个overlays数组中存在的对象。这个对象必须存在于数组中并且非空。
注解:
本方法添加overlay到地图视图,把它放到overlays数组中指定的sibling对象相对的位置。这个位置导致overlay 关联的视图将被显示在sibling关联视图的上面。
- (void) insertOverlay: (id< MBOverlay >)  overlay
atIndex: (NSUInteger)  index 

插入一个覆盖层到和地图关联的覆盖层对象列表中。

参数:
overlay将要插入的覆盖层。
index需要插入覆盖层对象的位置索引。如果这个数值大于overlays属性的对象数量,本方法将对象添加到数组的末尾。
- (void) insertOverlay: (id< MBOverlay >)  overlay
belowOverlay: (id< MBOverlay >)  sibling 

插入一个覆盖层到另一个的下面。

参数:
overlay将要插入的覆盖层。
sibling一个overlays数组中存在的对象。这个对象必须存在于数组中并且非空。
注解:
本方法添加  overlay到地图视图,把它放到overlays数组中指定的sibling对象相对的位置。这个位置导致overlay 关联的视图将被显示在sibling关联视图的下面。
- (MBMapRect) mapRectThatFits: (MBMapRect mapRect

调整指定地图矩形的长宽比以确保它和地图视图的框架匹配。

参数:
mapRect你想要调整宽度和高度的初始地图矩形。
返回:
中心仍在地图中同一点但高度和宽度已经被调整以适应地图视图的框架的地图矩形。
注解:
你可以调用本方法在地图矩形其对应范围显示前将其标准化。本方法返回一个新的地图矩形既包含了指定的矩形又和地图视图的框架整 齐匹配。
- (MBMapRect) mapRectThatFits: (MBMapRect mapRect
edgePadding: (UIEdgeInsets)  insets 

加上指定的插值调整指定地图矩形的长宽比。

参数:
mapRect你想要调整宽度和高度的初始地图矩形。
insets从地图视图框架实际边框返回的矩形需要插入的距离(屏幕点)。
返回:
中心仍在地图中同一点但高度和宽度已经被调整以适应减去插值后的地图视图的框架的地图矩形。
- (MBCoordinateRegion) regionThatFits: (MBCoordinateRegion region

调整指定范围的长宽比以确保它和地图试图的框架匹配。

参数:
region你想要调整跨度的初始化范围。
返回:
中心仍在地图中同一点但跨度已经被调整以适应地图视图的框架的范围。
注解:
你可以调用本方法在地图范围显示前将其标准化。本方法返回一个新的范围既包含了指定的矩形又和地图视图的框架整 齐匹配。
- (void) removeAnnotation: (id< MBAnnotation >)  annotation

从地图视图中移除指定的标注。

参数:
annotation将要移除的标注对象。对象必须遵守MBAnnotation协议。
参见:
- removeAnnotations:
- addAnnotation:
注解:
如果标注当前有关联的标注视图,并且这个视图有复用标识符,本方法移除标注视图同时为了以后的复用内在的把它放到复用队列中。 你可以调用 dequeueReusableAnnotationViewWithIdentifier 方法取得队列中的标注视图(把它们和新的标注关联)。
移除标注对象意味着彻底的将标注和地图视图解除关联,阻止它在地图中显示。因此,典型的当你在需要隐藏或删除一个给定标注 时调用本方法。
- (void) removeAnnotations: (NSArray *)  annotations

从地图视图中移除一组指定的标注对象。

参数:
annotations一组将要移除的标注对象。每个对象必须遵守 MBAnnotation 协议。
参见:
- removeAnnotations:
- addAnnotation:
注解:
如果数组中的任何标注当前有关联的标注视图,并且这个视图有复用标识符,本方法移除标注视图同时为了以后的复用内在的把它放到 复用队列中。你可以调用 dequeueReusableAnnotationViewWithIdentifier 方法取得队列中的标注视图(把它们和新的 标注关联)。
移除标注对象意味着彻底的将标注和地图视图解除关联,阻止它在地图中显示。因此,典型的当你在需要隐藏或删除一个给定标注时 调用本方法。
- (void) removeOverlay: (id< MBOverlay >)  overlay

从地图视图中移除一个覆盖层。

参数:
overlay将要移除的覆盖层对象。
注解:
移除一个覆盖层对象时如果它对应的视图当前正在显示还会移除它的视图。如果指定的对象并没有和地图视图关联,本方法将不执行 任何操作。
- (void) removeOverlays: (NSArray *)  overlays

从地图中移除一个或多个覆盖层。

参数:
overlays一组对象,每个对象必须遵守 MBOverlay 协议。
注解:
移除一个覆盖层对象时如果它对应的视图当前正在显示还会移除它的视图。如果指定的对象并没有和地图视图关联,本方法将不执行 任何操作。
- (void) selectAnnotation: (id< MBAnnotation >)  annotation
animated: (BOOL)  animated 

选中指定的标注,并显示弹出气泡。

参数:
annotation将要选中的标注对象。
animated如果YES,弹出气泡将动画弹出。
返回:
含有指定标识符的标注视图,或者当复用队列中不存在这种对象时则为nil。
注解:
如果指定的标注不在屏幕中,因此它也没有关联的标注视图,本方法没有任何作用。
- (void) setCenterCoordinate: (CLLocationCoordinate2D)  coordinate
animated: (BOOL)  animated 

改变地图的中心坐标,可选采用动画效果改变。

参数:
coordinate地图的新中心坐标。
animated如果你想地图视图滚动到新的位置,指定YES;如果你想地图立即显示新的位置,指定NO。
参见:
region
centerCoordinate
注解:
改变中心坐标将在不改变当前缩放等级下定位到新的中心坐标。这还会更新 region 属性来反映新的中心坐标,同时新的跨度将保持 现在的缩放等级。
- (void) setRegion: (MBCoordinateRegion region
animated: (BOOL)  animated 

改变当前可视区域,可选采用动画效果改变。

参数:
region将在地图视图中显示的新范围
animated如果你想地图视图动画过渡到新的范围,指定YES;如果你想地图立即定位到指定的范围,指定NO。
参见:
region
- setCenterCoordinate:animated:
注解:
只改变范围的中心坐标仍可潜在的引起跨度的改变。这是因为在不同经度和纬度下跨度所代表的距离会改变,地图视图可能由于新位置 的原因调整跨度。如果你希望在不改变缩放等级的情况改变中心坐标,调用 setCenterCoordinate:animated: 方法。
设置新范围的时候,地图可能调整范围的参数这样它才可以和地图的可视区域精确匹配。这样做很正常并且保证了区域属性总是和地 图的可视部分对应。然而这并不表明你调用本方法后可以立刻获取这个属性的数值,返回的值可能不和你设置的数值匹配。(你可以调 用 regionThatFits 方法来确定实际在地图上设置的范围)。
- (void) setRegisterCode: (NSString *)  registerCode

设置图吧家园注册码

参数:
registerCode图吧家园注册码
- (void) setVisibleMapRect: (MBMapRect mapRect
animated: (BOOL)  animate 

改变地图的当前可视部分,可选采用动画效果改变。

参数:
mapRect将在地图视图中可视的地图矩形。
animate如果你想地图视图动画过渡到新的地图矩形,指定YES;如果你想地图立即定位到指定的矩形,指定NO。
- (void) setVisibleMapRect: (MBMapRect mapRect
edgePadding: (UIEdgeInsets)  insets
animated: (BOOL)  animate 

改变地图的当前可视部分,同时允许指定边缘额外的间隔。

参数:
mapRect将在地图视图中可视的地图矩形。
insets使指定矩形周围额外空间可视的数值(以屏幕点来计算)。
animate如果你想地图视图动画过渡到新的地图矩形,指定YES;如果你想地图立即定位到指定的矩形,指定NO。
- (unsigned long long) totalBytesReceived

返回地图视图总的数据接收量。

返回:
地图视图总的数据接收量。
- (unsigned long long) totalBytesSended

返回地图视图总的数据发送量。

返回:
地图视图总的数据发送量。
- (MBAnnotationView *) viewForAnnotation: (id< MBAnnotation >)  annotation

如果有的话返回和指定标注关联的标注视图。

参数:
annotation你想要其视图的标注对象。
返回:
标注视图。
注解:
如果视图尚未创建返回nil。如果标注不在可视地图范围因此没有关联的标注视图这样也可能返回nil。
- (MBOverlayView *) viewForOverlay: (id< MBOverlay >)  overlay

如果有的话返回和指定覆盖层相关的视图。

参数:
overlay你想要其视图的标注覆盖层对象。
返回:
覆盖层关联的视图,覆盖层不在屏幕内时返回nil。

属性文档

- MBMapView: [read, assign]

接收者关联的标注的完整列表。

参见:
- addAnnotation:
- addAnnotations:
- removeAnnotation:
- removeAnnotations:
注解:
数组中的每个对象必须遵守 MBAnnotation 协议。如果地图视图没有关联任何标注,本属性的值为nil。
- MBMapView: [read, write, assign]

地图视图中心的地图坐标。

参见:
- setRegion:animated:
centerCoordinate
注解:
改变本属性的值将不改变当前缩放等级而定位到新的中心坐标。同时会更新 region 属性来反映新的中心坐标,而新的跨度将保持当 前的缩放等级。改变本属性的值将立刻更新地图视图。
如果你希望动画改变,调用 setCenterCoordinate:animated: 方法。
- MBMapView: [read, write, assign]

接收者的委托。

注解:
当加载地图数据和地图显示部分改变时地图视图发送信息给它的委托。委托还管理用于高亮地图上兴趣点的标注视图。
委托需要实现MBMapViewDelegate协议中的方法。
- (NSArray*) overlays [read, assign]

当前和地图视图关联的覆盖层。

注解:
数组中的对象必须遵守MBOverlay协议。如果地图视图没有关联任何覆盖层,本属性的值为一个空数组。
如果两个覆盖层的范围相交,本数组中对象的顺序决定了对应的覆盖层视图在地图上显示的位置。数组中前面的覆盖层对象将放在 数组中后面出现的覆盖层下面。因此,索引为0的覆盖层显示在索引为1的覆盖层的下面。
- MBMapView: [read, write, assign]

地图视图当前显示的范围。

参见:
- setRegion:animated:
centerCoordinate
注解:
范围同时包含了地图上需要显示的经度和纬度的跨度。跨度值隐含的提供了地图的缩放值。 显示区域越大,缩放等级越低。类似的,显示的范围越小,缩放等级越大。
只改变范围的中心坐标仍可隐含的引起跨度的改变。这是因为在不同经度和纬度下跨度所代表的距离会改变,地图视图由于新位置 的原因可能调整跨度。如果你希望在不改变缩放比的情况改变中心坐标,调用 setCenterCoordinate: 方法。
改变本属性的数值将立刻更新地图视图。设置本属性的时候,地图可能调整新范围的值这样它才可以和地图的可视区域精确匹配。 这样做很正常并且保证了区域属性总是和地图的可视部分对应。然而,这并不表明你调用本方法后可以立刻获取这个属性的数值,返回 的值可能不和你设置的数值匹配。(你可以调用regionThatFits方法来确定实际在地图上设置的范围)。
如果你希望动画改变范围,调用 setRegion:animated: 方法。
- MBMapView: [read, write, assign]

确定用户是否能够缩放地图的布尔值。

注解:
本属性只控制用户和地图的交互。如果你改变本属性的值为NO,你仍可以通过编码改变 region 属性的值来改变地图的位置。
默认本属性的值为YES。
- MBMapView: [read, write, copy]

当前选中的标注。

注解:
给本属性分配一个新的数组时只会选中数组中的第一个标注。
- MBMapView: [read, write, assign]

指示地图是否显示用户位置的布尔值。

注解:
本属性并不表示用户的位置在地图上是否实际上可视,只是指示地图视图是否允许显示。使用 userLocationVisible 属性来决 定用户位置是否可视。本属性的默认值是NO。
设置本属性为YES将引起地图视图调用Core Location框架寻找用户位置。一旦这个属性为YES,地图视图将一直跟踪用户的位置 并且定期更新用户位置。
- MBMapView: [read, assign]

指示设备的当前位置在地图视图中是否可视的布尔值。

注解:
本属性使用当前位置的水平精度决定用户位置是否可视。因此如果指定的坐标在屏幕外,但是包围这个坐标的矩形(由水平精度值定义 )有部分在屏幕内时本属性为YES
如果用户的位置不能确定,属性的值为NO。
- (MBMapRect) visibleMapRect [read, write, assign]

地图视图当前显示的区域。

注解:
本属性表示的基本信息和 region 属性相同,但是指定的一个地图矩形而不是一个范围。改变本属性的值将会立即更新地图视图。 如果你希望动画改变,调用 setVisibleMapRect:animated: 方法。
- MBMapView: [read, write, assign]

确定用户是否能够通过手势对地图进行缩放的布尔值。

注解:
本属性只控制用户和地图的交互。如果你改变本属性的值为NO,你仍可以通过编码改变 region 属性的值来改变缩放等级。
默认本属性的值为YES。

该类的文档由以下文件生成:
 全部  函数 变量 属性