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
GMSCameraPositionwith all available camera properties. Building aGMSCameraPositionvia 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
targetLocation on the earth towards which the camera points.
zoomThe zoom level near the center of the screen.
bearingBearing of the camera in degrees clockwise from true north.
viewingAngleThe angle, in degrees, of the camera angle from the nadir (directly facing the Earth)
-
Convenience initializer for
GMSCameraPositionfor 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
targetLocation on the earth towards which the camera points.
zoomThe zoom level near the center of the screen.
-
Convenience initializer for
GMSCameraPositionfor 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
latitudeThe latitude component of the location towards which the camera points.
longitudeThe latitude component of the location towards which the camera points.
zoomThe 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
latitudeThe latitude component of the location towards which the camera points.
longitudeThe latitude component of the location towards which the camera points.
zoomThe zoom level near the center of the screen.
bearingBearing of the camera in degrees clockwise from true north.
viewingAngleThe angle, in degrees, of the camera angle from the nadir (directly facing the Earth)
-
Convenience constructor for
GMSCameraPositionfor 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) -> SelfObjective-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) -> SelfObjective-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) -> SelfObjective-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) -> SelfObjective-C
+ (nonnull instancetype)cameraWithLatitude:(CLLocationDegrees)latitude longitude:(CLLocationDegrees)longitude zoom:(float)zoom bearing:(CLLocationDirection)bearing viewingAngle:(double)viewingAngle; -
Get the zoom level at which
metersdistance, at givencoordon 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) -> FloatObjective-C
+ (float)zoomAtCoordinate:(CLLocationCoordinate2D)coordinate forMeters:(CLLocationDistance)meters perPoints:(CGFloat)points;