GMSGeometryUtils 类中的静态变量

GMSGeometryUtils

结构体GMSMapPoint
 地图上的点。更多...

类型定义符

typedef 结构体 GMSMapPointGMSMapPoint
 地图上的点。

函数

GMSMapPointGMSProject(CLLocationCoordinate2D 坐标)
 coordinate 投影到地图。
CLLocationCoordinate2DGMSUnprojectGMSMapPoint 点)
 从映射中取消项目 point
GMSMapPointGMSMapPointInterpolateGMSMapPoint a、GMSMapPoint b、double t)
 返回线段 [a, b] 上的线性插值点,距 a 的比例为 t
双精度GMSMapPointDistanceGMSMapPoint a、GMSMapPoint b)
 返回线段 [a, b] 在投影空间内的长度。
BOOL GMSGeometryContainsLocation(CLLocationCoordinate2D 点,GMSPath *路径,BOOL 测地线)
 返回 point 是否位于路径内。
BOOL GMSGeometryIsLocationOnPathTolerance(CLLocationCoordinate2D 点、GMSPath *路径、BOOL 测地线、CLLocationDistance 公差)
 返回 point 是位于还是位于 path 上或附近(以米为单位的指定 tolerance 内)。
BOOL GMSGeometryIsLocationOnPath(CLLocationCoordinate2D 点,GMSPath *路径,BOOL 测地线)
 与 GMSGeometryIsLocationOnPath(点, 路径, 测地线, 公差) 相同,默认公差为 0.1 米。
CLLocationDistanceGMSGeometryDistance(CLLocationCoordinate2D 从,CLLocationCoordinate2D 更改为)
 用于返回地球上两个坐标之间的大圆距离(以米为单位)。
CLLocationDistanceGMSGeometryLengthGMSPath *路径)
 返回地球上 path 的大圆长度(以米为单位)。
双精度GMSGeometryAreaGMSPath *路径)
 返回在地球上由 path 定义的测地多边形的面积。
双精度GMSGeometrySignedAreaGMSPath *路径)
 返回在地球上由 path 定义的测地多边形的签名面积。
CLLocationDirectionGMSGeometryHeading(CLLocationCoordinate2D 从,CLLocationCoordinate2D 更改为)
 返回到 to 的最短路径 from 处的初始方向(北方顺时针的度数)。
CLLocationCoordinate2DGMSGeometryOffset(CLLocationCoordinate2D 来源、CLLocationDistance 距离、CLLocationDirection 方向)
 返回目的地坐标(起点为 from,初始位置为 heading,沿地球上的大圆弧移动 distance 米)。
CLLocationCoordinate2DGMSGeometryInterpolate(CLLocationCoordinate2D from,CLLocationCoordinate2D to,双分数)
 返回位于 fromto 坐标之间(二者之间的最短路径上)中路径的指定 fraction 的坐标。
NSArray< GMSStyleSpan * > * GMSStyleSpansGMSPath *路径、NSArray< GMSStrokeStyle * > *styles、NSArray< NSNumber * > *lengths、GMSLengthKind lengthKind)
 返回通过重复应用 styleslengths 以及 path 中的样式和长度信息而构造的 GMSStyleSpan 的 NSArray。
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 与 GMSStyleSpans(path, styles, lengths, lengthKind) 类似,但还采用了一个相对于 lengths 数组会被跳过的初始长度偏移量。

Typedef 文档

typedef 结构体 GMSMapPoint GMSMapPoint

地图上的点。

可能表示投影坐标。

x 在 [-1, 1] 之内。轴方向为正常方向:y 向北增长,x 向东增长。(0, 0) 表示地图的中心。

请参阅 GMSProject()GMSUnproject()


函数文档

GMSMapPoint GMSProject ( CLLocationCoordinate2D 坐标)

coordinate 投影到地图。

coordinate 必须有效。

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint )

从映射中取消项目 point

point.x 必须位于 [-1, 1] 中。

返回线段 [a, b] 上的线性插值点,距 a 的比例为 t

t==0 对应于 at==1 对应于 b

插值沿可能跨越日期线的两点之间的短路径进行。例如,从旧金山向东京进行插值将会经过夏威夷北部,并跨越日期线。

返回线段 [a, b] 在投影空间内的长度。

系统会沿着可能跨越日期线的点之间的短路径计算长度。例如,旧金山和东京对应两点之间的距离测量的是横跨夏威夷北部与日期线的路段。

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D point
GMSPath path
BOOL  测地
)

返回 point 是否位于路径内。

无论最后一个点是否等于第一个点,路径始终会被视为闭合。

“内部”指的是不含南极 -- 南极始终在外部。

如果 geodesic 为 YES,则 path 表示大圆细分,否则表示随机(顺向)细分。

如果 point 正好等于其中一个顶点,则结果为 YES。不等于顶点的点位于任何路径段的一侧或另一侧,它不可能“正好位于边界上”。

有关公差的边界测试,请参阅 GMSGeometryIsLocationOnPath()

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point
GMSPath path
BOOL  测地线
CLLocationDistance tolerance
)

返回 point 是位于还是位于 path 上或附近(以米为单位的指定 tolerance 内)。

如果geodesic为“是”,path则由大圆细分组成;如果geodesic为“否”,则由随机(顺时)细分组成。

另请参阅 GMSGeometryIsLocationOnPath(点, 路径, 测地线)。

公差是以地球的球形半径为参照物的(以米为单位)。如果您需要处理半径不同的球面,则可以根据半径 R 的球面所需公差计算等效公差:公差 = toleranceR * (RadiusEarth / R),RadiusEarth = 6371009。

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point
GMSPath path
BOOL  测地
)

与 GMSGeometryIsLocationOnPath(点, 路径, 测地线, 公差) 相同,默认公差为 0.1 米。

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from
CLLocationCoordinate2D
)

用于返回地球上两个坐标之间的大圆距离(以米为单位)。

这是球面上两个坐标之间的最短距离。

两个坐标都必须有效。

CLLocationDistance GMSGeometryLength ( GMSPath path)

返回地球上 path 的大圆长度(以米为单位)。

这是路径段上 GMSGeometryDistance() 的总和。

路径的所有坐标都必须有效。

GMSGeometryArea ( GMSPath path)

返回在地球上由 path 定义的测地多边形的面积。

多边形的“内部”定义为不包含南极。

如果 path 未闭合,则会被隐式视为闭合路径,结果是相同的。

路径的所有坐标都必须有效。

多边形必须简单(不自重叠)且可以凹陷。

如果路径的任何一段是一对对立点,则结果是未定义的,因为两个对立点在球面上不会形成唯一的大圆段。

GMSGeometrySignedArea ( GMSPath path)

返回在地球上由 path 定义的测地多边形的签名面积。

结果的绝对值与GMSGeometryArea()相同;如果路径点按逆时针顺序,那么它为正,否则为负。

适用与 GMSGeometryArea() 相同的限制。

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from
CLLocationCoordinate2D
)

返回到 to 的最短路径 from 处的初始方向(北方顺时针的度数)。

返回的值在 [0, 360) 范围内。

如果两个坐标相同,则返回 0。

两个坐标都必须有效。

要获取 to 处的最终方向,可以使用 (GMSGeometryHeading(to, from) + 180) 模 360。

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from
CLLocationDistance distance
CLLocationDirection 标题
)

返回目的地坐标(起点为 from,初始位置为 heading,沿地球上的大圆弧移动 distance 米)。

所得经度范围为 [-180, 180)。

两个坐标都必须有效。

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from
CLLocationCoordinate2D to
双精度 分数
)

返回位于 fromto 坐标之间(二者之间的最短路径上)中路径的指定 fraction 的坐标。

所得经度范围为 [-180, 180)。

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path
NSArray< GMSStrokeStyle * > *  styles
NSArray< NSNumber * > *  长度
GMSLengthKind lengthKind
)

返回通过重复应用 styleslengths 以及 path 中的样式和长度信息而构造的 GMSStyleSpan 的 NSArray。

path 表示计算输出 span 的路径。styles,即 GMSStrokeStyle 的 NSArray。消耗后进行换行。不得留空。lengths 是 NSNumber 的 NSArray;每个条目都提供了 styles 中相应样式的长度。消耗后进行换行。不得留空。lengthKind 是对 lengths 中值(测地、恒面或投影)的解释。

示例:具有交替黑白跨度的多段线:

 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);
 
NSArray<GMSStyleSpan *>* GMSStyleSpansOffset ( GMSPath path
NSArray< GMSStrokeStyle * > *  styles
NSArray< NSNumber * > *  长度
GMSLengthKind lengthKind
双精度 lengthOffset
)

与 GMSStyleSpans(path, styles, lengths, lengthKind) 类似,但还采用了一个相对于 lengths 数组会被跳过的初始长度偏移量。

lengthOffset 是指最初应从 lengths 跳过的长度(例如以米为单位)。