GoogleMaps Framework Reference

  • Determines if a given geographical point (latitude/longitude) lies within a specified path on the Earth's surface.

  • Considers the path closed, irrespective of its last point's connection to the first, and always excludes the South Pole as being outside the path.

  • Defines the path's segments as great circles for geodesic calculations or rhumb lines for non-geodesic ones.

  • Returns true if the point exactly matches a path vertex; otherwise, the point is considered strictly inside or outside the path, not on the border.

  • For border proximity checks with a tolerance, refer to the separate function GMSGeometryIsLocationOnPath().

GMSGeometryContainsLocation

extern BOOL GMSGeometryContainsLocation(CLLocationCoordinate2D point,
                                        GMSPath *_Nonnull path, BOOL geodesic)

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.