interface YMKMapView : UIView <MapDelegate>
地図の移動、スケールの変更、地図種類の切り替え、現在位置の表示等、地図に関する基本的な操作を行います。
また、注釈や図形を追加することもできます。
タスク
初期化
属性の取得・設定
mapTypeプロパティーzoomEnabledプロパティーscrollEnabledプロパティーsetMapType:MapStyle:MapStyleParam:scalebarVisibleプロパティー
デリゲートの取得・設定
delegateプロパティー
地図の可視領域の操作
デバイスの現在位置へのアクセス
showsUserLocationプロパティーuserLocationVisibleプロパティーuserLocationプロパティー
注釈
annotationsプロパティーaddAnnotation:addAnnotations:removeAnnotation:removeAnnotations:viewForAnnotation:dequeueReusableAnnotationViewWithIdentifier:
注釈の選択・非選択
オーバーレイの追加・削除
座標変換
convertCoordinate:toPointToView:convertPoint:toCoordinateFromView:convertRegion:toRectToView:convertRect:toRegionFromView:
領域の調節
プロパティー
mapType
表示される地図データの種類を取得設定します。
@property(nonatomic) YMKMapType mapType
zoomEnabled
ユーザーがピンチ操作での地図の拡大縮小操作をすることを許可するかどうかを取得・設定します。
@property(nonatomic, getter=isZoomEnabled) BOOL zoomEnabled
scrollEnabled
ユーザーのスクロール操作を許可するかどうかを取得・設定します。
@property(nonatomic, getter=isScrollEnabled) BOOL scrollEnabled
scalebarVisible
地図上にスケールバーを表示するかどうかをを取得・設定します。
@property(nonatomic, getter=isScalebarVisible) BOOL scalebarVisible
delegate
デリゲートを取得・設定します。
@property(nonatomic, assign) id<YMKMapViewDelegate> delegate
デリゲートはYMKMapViewDelegateプロトコルを実装する必要があります。
region
地図表示中の領域を取得・設定します。
@property(nonatomic) YMKCoordinateRegion region
centerCoordinate
地図の中心座標を取得・設定します。
@property(nonatomic) CLLocationCoordinate2D centerCoordinate
showsUserLocation
現在位置を地図上に表示するかどうかを取得・設定します。
@property(nonatomic) BOOL showsUserLocation
userLocationVisible
表示中の地図に現在位置が表示されているかどうかを取得します(読み取り専用)。
@property(nonatomic, readonly, getter=isUserLocationVisible) BOOL userLocationVisible
userLocation
現在位置に関するオブジェクトを取得します(読み取り専用)。
@property(nonatomic, readonly) YMKUserLocation *userLocation
annotations
登録されているYMKAnnotationを配列で返します。
@property (nonatomic, readonly) NSArray *annotations
selectedAnnotations
選択されたYMKAnnotationを配列で返します。
@property (nonatomic, copy) NSArray *selectedAnnotations
メソッド
initWithFrame:appid:
YMKMapViewを初期化します。アプリケーションIDについての詳細は、こちらをご覧ください。
(id)initWithFrame:(CGRect)frame appid:(NSString*) appid
| 引数 | 内容 |
|---|---|
| frame | YMKMapViewのViewのサイズ |
| appid | アプリケーションID |
setMapType:mapStyle:mapStyleParam:
表示される地図データの種類を設定します。
※航空写真・衛星写真は、一部地域は表示できません。
※地下街地図は、地下街が存在する地域のみ表示できます。
※スタイル地図は、広域では図式設定が反映されません。
-(void)setMapType:(YMKMapType)mapType mapStyle:(NSString *)mapStyle MapStyleParam:(NSArray *)mapStyleParam
| 引数 | 内容 |
|---|---|
| mapType | 表示したい地図データの種類 |
| mapStyle | 図式を文字列で指定。nilを指定することも可。その場合はデフォルトの @"standard"になります。mapTypeにYMKMapTypeStyleを指定したときのみ有効となります。 |
| mapStyleParam | オブジェクトのオン・オフを文字列の配列で指定(例:@"on:address"、@"off:city")。nilを指定することも可。その場合はデフォルトのすべて onになります。mapTypeにYMKMapTypeStyleを指定したときのみ有効となります。 |
setRegion:animated:
表示中の地図範囲を変更します。アニメすることも可能です。
-(void)setRegion:(YMKCoordinateRegion)region animated:(BOOL)animated
| 引数 | 内容 |
|---|---|
| region | 表示したい地図範囲 |
| animated | アニメするかどうか。YES:アニメする。NO:アニメせず即座に変更する。 |
setCenterCoordinate:animated:
表示中の地図の中心座標を変更します。アニメすることも可能です。
-(void)setCenterCoordinate:(CLLocationCoordinate2D)coordinate animated:(BOOL)animated
| 引数 | 内容 |
|---|---|
| coordinate | 表示したい地図の中心座標 |
| animated | アニメするかどうか。YES:アニメする。NO:アニメせず即座に変更する。 |
addAnnotation:
指定されたYMKAnnotationを地図ビューに追加します。
-(void)addAnnotation:(id <YMKAnnotation>)annotation
| 引数 | 内容 |
|---|---|
| annotation | 地図ビューに追加するYMKAnnotationオブジェクト |
addAnnotations:
配列に格納されたYMKAnnotationを一括で地図ビューに追加します。
-(void)addAnnotations:(NSArray *)annotations
| 引数 | 内容 |
|---|---|
| annotations | 地図ビューに追加するYMKAnnotationオブジェクトが格納された配列 |
removeAnnotation:
指定されたYMKAnnotationを地図ビューから削除します。
-(void)removeAnnotation:(id <YMKAnnotation>)annotation
| 引数 | 内容 |
|---|---|
| annotation | 地図ビューから削除するYMKAnnotationオブジェクト |
removeAnnotations:
配列に格納されたYMKAnnotationを一括で地図ビューから削除します。
-(void)removeAnnotations:(NSArray *)annotations
| 引数 | 内容 |
|---|---|
| annotations | 地図ビューから削除するYMKAnnotationオブジェクトが格納された配列 |
viewForAnnotation:
指定したYMKAnnotationに関連付けられたYMKAnnotationViewインスタンスを返します。
-(YMKAnnotationView *)viewForAnnotation:(id <YMKAnnotation>)annotation
| 引数 | 内容 |
|---|---|
| annotation | YMKAnnotationViewを取得するためのYMKAnnotationインスタンス |
| 戻り値 | 指定されたYMKAnnotationに一致するYMKAnnotationViewがあった場合、YMKAnnotationViewインスタンス。ない場合はnil。 |
dequeueReusableAnnotationViewWithIdentifier:
指定された判別文字列に一致するYMKAnnotationViewインスタンスを返します。
-(YMKAnnotationView *)dequeueReusableAnnotationViewWithIdentifier:(NSString *)identifier
| 引数 | 内容 |
|---|---|
| identifier | YMKAnnotationViewを取得するための判別文字列 |
| 戻り値 | 指定された判別文字列に一致するYMKAnnotationViewがあった場合、YMKAnnotationViewインスタンス。ない場合はnil。 |
selectAnnotation:animated:
指定したYMKAnnotationに一致するYMKAnnotationViewを選択状態にします。
-(void)selectAnnotation:(id <YMKAnnotation>)annotation animated:(BOOL)animated
| 引数 | 内容 |
|---|---|
| annotation | 選択状態にしたいYMKAnnotationインスタンス |
| animated | (未実装) |
deselectAnnotation:animated:
指定したYMKAnnotationに一致するYMKAnnotationViewを未選択状態にします。
-(void)deselectAnnotation:(id <YMKAnnotation>)annotation animated:(BOOL)animated
| 引数 | 内容 |
|---|---|
| annotation | 未選択状態にしたいYMKAnnotationインスタンス |
| animated | (未実装) |
addOverlay:
指定したYMKOverlayを地図ビューに追加します。
-(void)addOverlay:(id <YMKOverlay>)overlay
| 引数 | 内容 |
|---|---|
| overlay | 地図ビューに追加するYMKOverlayオブジェクト |
addOverlays:
配列に格納したYMKOverlayを一括で地図ビューに追加します。
-(void)addOverlays:(NSArray *)overlays
| 引数 | 内容 |
|---|---|
| overlays | 地図ビューに追加するYMKOverlayオブジェクトが格納された配列 |
removeOverlay:
指定したYMKOverlayを地図ビューから削除します。
-(void)removeOverlay:(id <YMKOverlay>)overlay
| 引数 | 内容 |
|---|---|
| overlay | 地図ビューから削除するYMKOverlayオブジェクト |
removeOverlays:
配列に格納したYMKOverlayを一括で地図ビューから削除します。
-(void)removeOverlays:(NSArray *)overlays
| 引数 | 内容 |
|---|---|
| overlays | 地図ビューから削除するYMKOverlayオブジェクトが格納された配列 |
insertOverlay:atIndex:
指定した階層にYMKOverlayを追加します。
-(void)insertOverlay:(id <YMKOverlay>)overlay atIndex:(NSUInteger)index
| 引数 | 内容 |
|---|---|
| overlay | 地図ビューに追加するYMKOverlayオブジェクト |
| index | 追加する階層のインデックス値 |
viewForOverlay:
指定したYMKAnnotationに関連付けられたYMKAnnotationViewインスタンスを返します。
-(YMKOverlayView *)viewForOverlay:(id <YMKOverlay>)overlay
| 引数 | 内容 |
|---|---|
| overlay | YMKOverlayViewを取得するためのYMKOverlayインスタンス |
| 戻り値 | 指定したYMKOverlayに一致するYMKOverlayViewがあった場合、YMKOverlayViewインスタンス。ない場合はnil。 |
convertCoordinate:toPointToView:
緯度経度を画面座標に変換します。
-(CGPoint)convertCoordinate:(CLLocationCoordinate2D)coordinate toPointToView:(UIView *)view
| 引数 | 内容 |
|---|---|
| coordinate | 変換したい緯度経度 |
| view | 変換後の座標値の座標系をもつview。nilの場合はwindowの座標系。nilでない場合は、地図viewが属するものと同じwindowに属している必要があります。 |
| 戻り値 | 指定したviewの座標系での座標値 |
convertPoint:toCoordinateFromView:
指定したviewの座標系の座標値を緯度経度に変換します。
-(CLLocationCoordinate2D)convertPoint:(CGPoint)point toCoordinateFromView:(UIView *)view
| 引数 | 内容 |
|---|---|
| point | 変換したい座標値 |
| view | 変換したい座標値の座標系をもつview。 |
| 戻り値 | 緯度経度 |
convertRegion:toRectToView:
緯度経度の地図領域を指定のviewの座標系の長方形に変換します。
-(CGRect)convertRegion:(YMKCoordinateRegion)region toRectToView:(UIView *)view
| 引数 | 内容 |
|---|---|
| region | 変換したい緯度経度の地図座標 |
| view | 変換後の長方形の座標系をもつview。 |
| 戻り値 | 長方形 |
convertRect:toRegionFromView:
指定のviewの座標系の長方形を緯度経度の地図領域に変換します。
-(YMKCoordinateRegion)convertRect:(CGRect)rect toRegionFromView:(UIView *)view
| 引数 | 内容 |
|---|---|
| rect | 変換したい長方形 |
| view | 変換後の長方形の座標系をもつview。 |
| 戻り値 | 緯度経度の地図領域 |
regionThatFits:
指定した領域を、地図表示枠に一致するようにアスペクト比を調整します。
-(YMKCoordinateRegion)regionThatFits:(YMKCoordinateRegion)region
| 引数 | 内容 |
|---|---|
| region | span値を調整したい領域 |
| 戻り値 | 中心位置は変えず、地図表示枠に一致するようにspan値が調整された領域 |
定数
YMKMapType
地図の種類です。
enum {
YMKMapTypeStandard,
YMKMapTypeSatellite,
YMKMapTypeChika,
YMKMapTypeHD,
YMKMapTypeStyle,
YMKMapTypeOSM
};
typedef NSUInteger YMKMapType;
YMKMapTypeStandard- 標準地図
YMKMapTypeSatellite- 航空写真
YMKMapTypeChika- 地下街地図
YMKMapTypeHD- ハイビジョン地図
YMKMapTypeStyle- スタイル地図
YMKMapTypeOSM- OpenStreetMap