GMSGeometryUtils 类中的静态变量

GMSGeometryUtils

等级

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

类型定义符

typedef 结构 GMSMapPointGMSMapPoint
 地图上的点。

函数

GMSMapPointGMSProject(CLLocationCoordinate2D 坐标)
 coordinate 投影到地图。
CLLocationCoordinate2DGMSUnproject(GMSMapPoint 点)GMSMapPoint
 从地图中取消投影 point
GMSMapPointGMSMapPointInterpolateGMSMapPoint a、GMSMapPoint b、double t)
 返回线段 [a, b] 上与 a 的分数 t 处的线性插值点。
双精度GMSMapPointDistanceGMSMapPoint a、GMSMapPoint b)
 返回片段 [a, b] 在投影空间内的长度。
BOOL GMSGeometryContainsLocation(CLLocationCoordinate2D 点、GMSPath *path、BOOL 测地线)
 返回 point 是否位于路径内部。
BOOL GMSGeometryIsLocationOnPathTolerance(CLLocationCoordinate2D 点、GMSPath *path、BOOL 测地线、CLLocationDistance 公差)
 返回 point 是否位于 path 上或附近(以米为单位的 tolerance 内)。
BOOL GMSGeometryIsLocationOnPath(CLLocationCoordinate2D 点、GMSPath *path、BOOL 测地线)
 与 GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance) 相同,默认公差为 0.1 米。
CLLocationDistanceGMSGeometryDistance(CLLocationCoordinate2D from、CLLocationCoordinate2D to)
 返回地球上两个坐标之间的大圆距离(以米为单位)。
CLLocationDistanceGMSGeometryLength(GMSPath *路径)GMSPath
 返回地球上 path 的大圆长度(以米为单位)。
双精度GMSGeometryAreaGMSPath *路径)
 返回由地球上的 path 定义的测地多边形的面积。
双精度GMSGeometrySignedAreaGMSPath *路径)
 返回由地球上的 path 定义的测地多边形的带符号面积。
CLLocationDirectionGMSGeometryHeading(CLLocationCoordinate2D from、CLLocationCoordinate2D to)
 返回到 to 最短路径 from 处的初始方向(北顺时针角度)。
CLLocationCoordinate2DGMSGeometryOffset(CLLocationCoordinate2D from、CLLocationDistance 距离、CLLocationDirection 方向角)
 返回目的地坐标(当起点为 from 且初始值为 heading 时,沿着地球上的大圆弧行进 distance 米)。
CLLocationCoordinate2DGMSGeometryInterpolate(CLLocationCoordinate2D from、CLLocationCoordinate2D to、双精度)
 返回位于 fromto 坐标之间的最短路径上的指定 fraction 之间的坐标。
NSArray&lt;GMSStyleSpan * >*GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 返回 GMSStyleSpan 的 NSArray,通过沿 path 重复应用来自 styleslengths 的样式和长度信息构造而成。
NSArray&lt;GMSStyleSpan * >*GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 与 GMSStyleSpans(path, styles, lengths, lengthKind) 类似,但额外采用了将相对于 lengths 数组跳过的初始长度偏移量。

Typedef 文档

typedef struct 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  geodesic
CLLocationDistance 容忍度
)

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

如果 geodesic 为“是”,则“path”由大圆圈段组成;如果 geodesic 为否,则由长形(黄体性)段组成。

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

公差(以米为单位)相对于地球的球面半径。如果您需要处理不同半径的球面,可以使用半径 R 的球面上的所需公差来计算等效公差:公差 = toleranceR * (RadiusEarth / R),RadiusEarth==6371009。

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point
GMSPath * path
BOOL  测地
)

与 GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance) 相同,默认公差为 0.1 米。

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D 发件人
CLLocationCoordinate2D
)

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

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

两个坐标都必须有效。

CLLocationDistance GMSGeometryLength ( GMSPath * path)

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

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

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

GMSGeometryArea ( GMSPath * path)

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

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

如果 path 未闭合,则系统会将其隐式视为闭合路径,并且结果相同。

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

多边形必须简单(不能自重叠),并且可以是凹陷的。

如果路径的任何段是一对对脚点,结果就不确定,因为两个对脚点不会在球体上形成唯一的大圆段。

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

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

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

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D 发件人
CLLocationCoordinate2D
)

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

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

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

两个坐标都必须有效。

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

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D 发件人
CLLocationDistance distance
CLLocationDirection 标题
)

返回目的地坐标(当起点为 from 且初始值为 heading 时,沿着地球上的大圆弧行进 distance 米)。

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

两个坐标都必须有效。

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D 发件人
CLLocationCoordinate2D to
双精度 比例
)

返回位于 fromto 坐标之间的最短路径上的指定 fraction 之间的坐标。

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

NSArray<GMSStyleSpan *>* GMSStyleSpanGMSStyleSpanGMSStyleSpans ( GMSPath * path
NSArray&lt;GMSStrokeStyle * >* styles
NSArray&lt;NSNumber * >* lengths
GMSLengthKind lengthKind
)

返回 GMSStyleSpan 的 NSArray,通过沿 path 重复应用来自 styleslengths 的样式和长度信息构造而成。

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 *>* GMSStyleSpansOffsetGMSStyleSpansOffsetGMSStyleSpan ( GMSPath * path
NSArray&lt;GMSStrokeStyle * >* styles
NSArray&lt;NSNumber * >* lengths
GMSLengthKind lengthKind,
双精度 lengthOffset
)

与 GMSStyleSpans(path, styles, lengths, lengthKind) 类似,但额外采用了将相对于 lengths 数组跳过的初始长度偏移量。

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