GMSProjection
@interface GMSProjection : NSObjectDefines a mapping between Earth coordinates CLLocationCoordinate2D and coordinates in the map’s
view CGPoint. A projection is constant and immutable, in that the mapping it embodies never
changes. The mapping is not necessarily linear.
Passing invalid Earth coordinates (i.e., per CLLocationCoordinate2DIsValid) to this object may
result in undefined behavior.
This class should not be instantiated directly unless under testing conditions. Instead, obtain
it via projection on GMSMapView.
-
Maps an Earth coordinate to a point coordinate in the map’s view.
Declaration
Swift
func point(for coordinate: CLLocationCoordinate2D) -> CGPointObjective-C
- (CGPoint)pointForCoordinate:(CLLocationCoordinate2D)coordinate; -
Maps a point coordinate in the map’s view to an Earth coordinate.
Declaration
Swift
func coordinate(for point: CGPoint) -> CLLocationCoordinate2DObjective-C
- (CLLocationCoordinate2D)coordinateForPoint:(CGPoint)point; -
Converts a distance in meters to content size. This is only accurate for small Earth distances, as it uses
CGFloatfor screen distances.Declaration
Swift
func points(forMeters meters: CLLocationDistance, at coordinate: CLLocationCoordinate2D) -> CGFloatObjective-C
- (CGFloat)pointsForMeters:(CLLocationDistance)meters atCoordinate:(CLLocationCoordinate2D)coordinate; -
Returns whether a given coordinate (lat/lng) is contained within the projection.
Declaration
Swift
func contains(_ coordinate: CLLocationCoordinate2D) -> BoolObjective-C
- (BOOL)containsCoordinate:(CLLocationCoordinate2D)coordinate; -
Returns the region (four location coordinates) that is visible according to the projection. If padding was set on
GMSMapView, this region takes the padding into account.The visible region can be non-rectangular. The result is undefined if the projection includes points that do not map to anywhere on the map (e.g., camera sees outer space).
Declaration
Swift
func visibleRegion() -> GMSVisibleRegionObjective-C
- (GMSVisibleRegion)visibleRegion;