Classes
|
struct
| GMSMapPoint
|
| A point on the map.
More...
|
Typedefs
|
typedef struct
GMSMapPoint
| GMSMapPoint
|
| A point on the map.
|
Functions
|
GMSMapPoint
| GMSProject
(CLLocationCoordinate2D coordinate)
|
| Projects
coordinate
to the map.
|
CLLocationCoordinate2D
| GMSUnproject
(
GMSMapPoint
point)
|
| Unprojects
point
from the map.
|
GMSMapPoint
| GMSMapPointInterpolate
(
GMSMapPoint
a,
GMSMapPoint
b, double t)
|
| Returns a linearly interpolated point on the segment [a, b], at the fraction
t
from
a
.
|
double
| GMSMapPointDistance
(
GMSMapPoint
a,
GMSMapPoint
b)
|
| Returns the length of the segment [a, b] in projected space.
|
BOOL
| GMSGeometryContainsLocation
(CLLocationCoordinate2D point,
GMSPath
*path, BOOL geodesic)
|
| Returns whether
point
lies inside of path.
|
BOOL
| GMSGeometryIsLocationOnPathTolerance
(CLLocationCoordinate2D point,
GMSPath
*path, BOOL geodesic, CLLocationDistance tolerance)
|
| Returns whether
point
lies on or near
path
, within the specified
tolerance
in meters.
|
BOOL
| GMSGeometryIsLocationOnPath
(CLLocationCoordinate2D point,
GMSPath
*path, BOOL geodesic)
|
| Same as GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance), with a default tolerance of 0.1 meters.
|
CLLocationDistance
| GMSGeometryDistance
(CLLocationCoordinate2D from, CLLocationCoordinate2D to)
|
| Returns the great circle distance between two coordinates, in meters, on Earth.
|
CLLocationDistance
| GMSGeometryLength
(
GMSPath
*path)
|
| Returns the great circle length of
path
, in meters, on Earth.
|
double
| GMSGeometryArea
(
GMSPath
*path)
|
| Returns the area of a geodesic polygon defined by
path
on Earth.
|
double
| GMSGeometrySignedArea
(
GMSPath
*path)
|
| Returns the signed area of a geodesic polygon defined by
path
on Earth.
|
CLLocationDirection
| GMSGeometryHeading
(CLLocationCoordinate2D from, CLLocationCoordinate2D to)
|
| Returns the initial heading (degrees clockwise of North) at
from
of the shortest path to
to
.
|
CLLocationCoordinate2D
| GMSGeometryOffset
(CLLocationCoordinate2D from, CLLocationDistance distance, CLLocationDirection heading)
|
| Returns the destination coordinate, when starting at
from
with initial
heading
, travelling
distance
meters along a great circle arc, on Earth.
|
CLLocationCoordinate2D
| GMSGeometryInterpolate
(CLLocationCoordinate2D from, CLLocationCoordinate2D to, double fraction)
|
| Returns the coordinate that lies the given
fraction
of the way between the
from
and
to
coordinates on the shortest path between the two.
|
NSArray<
GMSStyleSpan
* > *
| GMSStyleSpans
(
GMSPath
*path, NSArray<
GMSStrokeStyle
* > *styles, NSArray< NSNumber * > *lengths,
GMSLengthKind
lengthKind)
|
| Returns an NSArray of
GMSStyleSpan
constructed by repeated application of style and length information from
styles
and
lengths
along
path
.
|
NSArray<
GMSStyleSpan
* > *
| GMSStyleSpansOffset
(
GMSPath
*path, NSArray<
GMSStrokeStyle
* > *styles, NSArray< NSNumber * > *lengths,
GMSLengthKind
lengthKind, double lengthOffset)
|
| Similar to GMSStyleSpans(path, styles, lengths, lengthKind) but additionally takes an initial length offset that will be skipped over relative to the
lengths
array.
|
Returns whether
point
lies inside of path.
The path is always considered closed, regardless of whether the last point equals the first or not.
Inside is defined as not containing the South Pole -- the South Pole is always outside.
path
describes great circle segments if
geodesic
is YES, and rhumb (loxodromic) segments otherwise.
If
point
is exactly equal to one of the vertices, the result is YES. A point that is not equal to a vertex is on one side or the other of any path segment -- it can never be "exactly on the
border".
See
GMSGeometryIsLocationOnPath()
for a border test with tolerance.
Returns whether
point
lies on or near
path
, within the specified
tolerance
in meters.
path
is composed of great circle segments if
geodesic
is YES, and of rhumb (loxodromic) segments if
geodesic
is NO.
See also GMSGeometryIsLocationOnPath(point, path, geodesic).
The tolerance, in meters, is relative to the spherical radius of the Earth. If you need to work on a sphere of different radius, you may compute the equivalent tolerance from the desired tolerance on the sphere of radius R: tolerance = toleranceR * (RadiusEarth / R), with RadiusEarth==6371009.
Returns the area of a geodesic polygon defined by
path
on Earth.
The "inside" of the polygon is defined as not containing the South pole.
If
path
is not closed, it is implicitly treated as a closed path nevertheless and the result is the same.
All coordinates of the path must be valid.
The polygon must be simple (not self-overlapping) and may be concave.
If any segment of the path is a pair of antipodal points, the result is undefined -- because two antipodal points do not form a unique great circle segment on the sphere.
CLLocationDirection
GMSGeometryHeading
|
(
|
CLLocationCoordinate2D
|
from
,
|
|
|
CLLocationCoordinate2D
|
to
|
|
)
|
| |
Returns the initial heading (degrees clockwise of North) at
from
of the shortest path to
to
.
The returned value is in the range [0, 360).
Returns 0 if the two coordinates are the same.
Both coordinates must be valid.
To get the final heading at
to
one may use (GMSGeometryHeading(to,
from
) + 180) modulo 360.
Returns an NSArray of
GMSStyleSpan
constructed by repeated application of style and length information from
styles
and
lengths
along
path
.
path
the path along which the output spans are computed.
styles
an NSArray of
GMSStrokeStyle
. Wraps if consumed. Can't be empty.
lengths
an NSArray of NSNumber; each entry gives the length of the corresponding style from
styles
. Wraps if consumed. Can't be empty.
lengthKind
the interpretation of values from
lengths
(geodesic, rhumb or projected).
Example: a polyline with alternating black and white spans:
GMSMutablePath
*path;
NSArray *styles = @[[
GMSStrokeStyle
solidColor:[UIColor whiteColor]],
[
GMSStrokeStyle
solidColor:[UIColor blackColor]]];
NSArray *lengths = @[@100000, @50000];
polyline.path = path;
polyline.spans = GMSStyleSpans(path, styles, lengths, kGMSLengthRhumb);