GMSCameraPosition
@interface GMSCameraPosition : NSObject <NSCopying, NSMutableCopying>
An immutable class that aggregates all camera position parameters.
-
Location on the Earth towards which the camera points.
Declaration
Swift
var target: CLLocationCoordinate2D { get }
Objective-C
@property (nonatomic, readonly) CLLocationCoordinate2D target;
-
Zoom level. Zoom uses an exponentional scale, where zoom 0 represents the entire world as a 256 x 256 square. Each successive zoom level increases magnification by a factor of 2. So at zoom level 1, the world is 512x512, and at zoom level 2, the entire world is 1024x1024.
Declaration
Swift
var zoom: Float { get }
Objective-C
@property (nonatomic, readonly) float zoom;
-
Bearing of the camera, in degrees clockwise from true north.
Declaration
Swift
var bearing: CLLocationDirection { get }
Objective-C
@property (nonatomic, readonly) CLLocationDirection bearing;
-
The angle, in degrees, of the camera from the nadir (directly facing the Earth). 0 is straight down, 90 is parallel to the ground. Note that the maximum angle allowed is dependent on the zoom. You can think of it as a series of line segments as a function of zoom, rather than a step function. For zoom 16 and above, the maximum angle is 65 degrees. For zoom 10 and below, the maximum angle is 30 degrees.
Declaration
Swift
var viewingAngle: Double { get }
Objective-C
@property (nonatomic, readonly) double viewingAngle;
-
Designated initializer. Configures this
GMSCameraPosition
with all available camera properties. Building aGMSCameraPosition
via this initializer (or by the following convenience constructors) will implicitly clamp camera values.Declaration
Swift
init(target: CLLocationCoordinate2D, zoom: Float, bearing: CLLocationDirection, viewingAngle: Double)
Objective-C
- (nonnull instancetype)initWithTarget:(CLLocationCoordinate2D)target zoom:(float)zoom bearing:(CLLocationDirection)bearing viewingAngle:(double)viewingAngle;
Parameters
target
Location on the earth towards which the camera points.
zoom
The zoom level near the center of the screen.
bearing
Bearing of the camera in degrees clockwise from true north.
viewingAngle
The angle, in degrees, of the camera angle from the nadir (directly facing the Earth)
-
Convenience initializer for
GMSCameraPosition
for a particular target and zoom level. This will set the bearing and viewingAngle properties of this camera to zero defaults (i.e., directly facing the Earth’s surface, with the top of the screen pointing north).Declaration
Swift
init(target: CLLocationCoordinate2D, zoom: Float)
Objective-C
- (nonnull instancetype)initWithTarget:(CLLocationCoordinate2D)target zoom:(float)zoom;
Parameters
target
Location on the earth towards which the camera points.
zoom
The zoom level near the center of the screen.
-
Convenience initializer for
GMSCameraPosition
for a particular latitidue, longitude and zoom level. This will set the bearing and viewingAngle properties of this camera to zero defaults (i.e., directly facing the Earth’s surface, with the top of the screen pointing north).Declaration
Swift
init(latitude: CLLocationDegrees, longitude: CLLocationDegrees, zoom: Float)
Objective-C
- (nonnull instancetype)initWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude zoom:(float)zoom;
Parameters
latitude
The latitude component of the location towards which the camera points.
longitude
The latitude component of the location towards which the camera points.
zoom
The zoom level near the center of the screen.
-
Convenience initializer for
GMSCameraPosition
, with latitude/longitude and all other camera properties as per -initWithTarget:zoom:bearing:viewingAngle:.Declaration
Swift
init(latitude: CLLocationDegrees, longitude: CLLocationDegrees, zoom: Float, bearing: CLLocationDirection, viewingAngle: Double)
Objective-C
- (nonnull instancetype)initWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude zoom:(float)zoom bearing:(CLLocationDirection)bearing viewingAngle:(double)viewingAngle;
Parameters
latitude
The latitude component of the location towards which the camera points.
longitude
The latitude component of the location towards which the camera points.
zoom
The zoom level near the center of the screen.
bearing
Bearing of the camera in degrees clockwise from true north.
viewingAngle
The angle, in degrees, of the camera angle from the nadir (directly facing the Earth)
-
Convenience constructor for
GMSCameraPosition
for a particular target and zoom level. This will set the bearing and viewingAngle properties of this camera to zero defaults (i.e., directly facing the Earth’s surface, with the top of the screen pointing north).Declaration
Swift
class func camera(withTarget target: CLLocationCoordinate2D, zoom: Float) -> Self
Objective-C
+ (nonnull instancetype)cameraWithTarget:(CLLocationCoordinate2D)target zoom:(float)zoom;
-
Convenience constructor for
GMSCameraPosition
, as per+cameraWithTarget:zoom:
.Declaration
Swift
class func camera(withLatitude latitude: CLLocationDegrees, longitude: CLLocationDegrees, zoom: Float) -> Self
Objective-C
+ (nonnull instancetype)cameraWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude zoom:(float)zoom;
-
Convenience constructor for
GMSCameraPosition
, with all camera properties as per+initWithTarget:zoom:bearing:viewingAngle:
.Declaration
Swift
class func camera(withTarget target: CLLocationCoordinate2D, zoom: Float, bearing: CLLocationDirection, viewingAngle: Double) -> Self
Objective-C
+ (nonnull instancetype)cameraWithTarget:(CLLocationCoordinate2D)target zoom:(float)zoom bearing:(CLLocationDirection)bearing viewingAngle:(double)viewingAngle;
-
Convenience constructor for
GMSCameraPosition
, with latitude/longitude and all other camera properties as per+initWithTarget:zoom:bearing:viewingAngle:
.Declaration
Swift
class func camera(withLatitude latitude: CLLocationDegrees, longitude: CLLocationDegrees, zoom: Float, bearing: CLLocationDirection, viewingAngle: Double) -> Self
Objective-C
+ (nonnull instancetype)cameraWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude zoom:(float)zoom bearing:(CLLocationDirection)bearing viewingAngle:(double)viewingAngle;
-
Get the zoom level at which
meters
distance, at givencoord
on Earth, correspond to the specified number of screenpoints
.For extremely large or small distances the returned zoom level may be smaller or larger than the minimum or maximum zoom level allowed on the camera.
This helper method is useful for building camera positions that contain specific physical areas on Earth.
Declaration
Swift
class func zoom(at coordinate: CLLocationCoordinate2D, forMeters meters: CLLocationDistance, perPoints points: CGFloat) -> Float
Objective-C
+ (float)zoomAtCoordinate:(CLLocationCoordinate2D)coordinate forMeters:(CLLocationDistance)meters perPoints:(CGFloat)points;