7.1. Creating a Map View
Problem
You want to instantiate and display a map on a view.
Solution
Create an instance of the MKMapView
class and add it to a view or assign
it as a subview of your view controller. Here is the sample .h file of a view controller that creates an
instance of MKMapView
and displays it
full-screen on its view:
#import <UIKit/UIKit.h>
#import <MapKit/MapKit.h>
@interface
Creating_a_Map_ViewViewController
:UIViewController
@property
(
nonatomic
,
strong
)
MKMapView
*
myMapView
;
@end
This is a simple root view controller with a variable of type
MKMapView
. Later in the
implementation of this view controller (.m file), we will initialize the map and set
its type to Satellite
, like
so:
#import "Creating_a_Map_ViewViewController.h"
@implementation
Creating_a_Map_ViewViewController
-
(
void
)
didReceiveMemoryWarning
{
[
super
didReceiveMemoryWarning
];
}
-
(
void
)
viewDidLoad
{
[
super
viewDidLoad
];
self
.
view
.
backgroundColor
=
[
UIColor
whiteColor
];
self
.
myMapView
=
[[
MKMapView
alloc
]
initWithFrame:
self
.
view
.
bounds
];
/* Set the map type to Satellite */
self
.
myMapView
.
mapType
=
MKMapTypeSatellite
;
self
.
myMapView
.
autoresizingMask
=
UIViewAutoresizingFlexibleWidth
|
UIViewAutoresizingFlexibleHeight
;
/* Add it to our view */
[
self
.
view
addSubview:
self
.
myMapView
];
}
-
(
BOOL
)
shouldAutorotateToInterfaceOrientation
:
(
UIInterfaceOrientation
)
interfaceOrientation
{
return
YES
;
}
@end
Discussion
Creating an instance of the MKMapView
class is quite straightforward. We can simply assign a frame to it ...
Get iOS 6 Programming Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.