GMSGeometryUtils

GMSGeometryUtils

를 탭합니다. 클래스

구조체GMSMapPoint
 지도상의 한 지점 더보기...

를 탭합니다. 형식 정의

typedef 구조체 GMSMapPointGMSMapPoint
 지도상의 한 지점

를 탭합니다. 함수

GMSMapPointGMSProject (CLLocationCoordinate2D 좌표)
 지도에 coordinate를 투영합니다.
CLLocationCoordinate2DGMSUnproject (GMSMapPoint 포인트)
 지도에서 point 프로젝트를 취소합니다.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, double t)
 a의 비율 t에 있는 세그먼트 [a, b]의 선형 보간된 점을 반환합니다.
이중GMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 투영된 공간에 있는 세그먼트 [a, b] 의 길이를 반환합니다.
부울GMSGeometryContainsLocation (CLLocationCoordinate2D 포인트, GMSPath *경로, BOOL 최단 거리)
 point가 경로 내부에 있는지 여부를 반환합니다.
부울GMSGeometryIsLocationOnPathTolerance (CLLocationCoordinate2D 포인트, GMSPath *경로, BOOL 최단 거리, CLLocationDistance 공차)
 point이 지정된 tolerance 내의 path 또는 그 근처에 있는지 미터 단위로 반환합니다.
부울GMSGeometryIsLocationOnPath (CLLocationCoordinate2D 포인트, GMSPath *경로, BOOL 최단 거리)
 GMSGeometryIsLocationOnPath(지점, 경로, 최단 거리, 허용 오차)와 동일하며 기본 허용 오차는 0.1미터입니다.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D, 위치, CLLocationCoordinate2D~)
 지구에서 두 좌표 사이의 대원 거리를 미터 단위로 반환합니다.
CLLocationDistanceGMSGeometryLength (GMSPath *경로)
 지구에서 path의 대원 길이(미터)를 반환합니다.
이중GMSGeometryArea (GMSPath *경로)
 지구에서 path로 정의된 최단 거리 다각형의 면적을 반환합니다.
이중GMSGeometrySignedArea (GMSPath *경로)
 지구에서 path로 정의된 최단 거리 다각형의 부호 있는 영역을 반환합니다.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D 시작, CLLocationCoordinate2D 대상)
 to 최단 경로 from의 초기 방향 (북쪽을 기준으로 시계 방향의 각도)을 반환합니다.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D from, CLLocationDistance 거리, CLLocationDirection 방향)
 초기 heading으로 from에서 시작하여 대원호를 따라 distance미터 이동 시 대상 좌표를 반환합니다.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D from, CLLocationCoordinate2D to, 이중 분수)
 두 좌표 사이의 가장 짧은 경로에서 from 좌표와 to 좌표 사이의 지정된 fraction에 있는 좌표를 반환합니다.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 path를 따라 styleslengths의 스타일 및 길이 정보를 반복적으로 적용하여 구성된 GMSStyleSpan의 NSArray를 반환합니다.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 GMSStyleSpans(path, style, 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의 비율 t에 있는 세그먼트 [a, b]의 선형 보간된 점을 반환합니다.

t==0은 a에 상응하고 t==1은 b에 상응합니다.

보간은 날짜 선을 넘을 수 있는 점 사이의 짧은 경로를 따라 수행됩니다. 예: 샌프란시스코에서 도쿄까지 보간하면 하와이 북쪽을 통과하여 날짜 선을 통과합니다.

투영된 공간에 있는 세그먼트 [a, b] 의 길이를 반환합니다.

길이는 날짜 선을 넘어설 수 있는 점 사이의 짧은 경로를 따라 계산됩니다. 예: 샌프란시스코와 도쿄에 해당하는 점 사이의 거리는 날짜선을 지나 하와이 북쪽을 지나는 구간을 측정합니다.

부울 GMSGeometryContainsLocation ( CLLocationCoordinate2D point,
GMSPath * 경로,
부울 최단 거리
)

point가 경로 내부에 있는지 여부를 반환합니다.

마지막 지점이 첫 번째 지점과 같은지 여부에 관계없이 경로는 항상 닫힌 것으로 간주됩니다.

남극은 항상 외부에 있으며 내부는 남극을 포함하지 않는 것으로 정의됩니다.

pathgeodesic이 YES이면 대원분을 설명하고 그렇지 않은 경우 rhumb (loxodromic) 구간을 설명합니다.

point이 꼭짓점 중 하나와 정확히 같으면 결과는 YES입니다. 꼭짓점과 같지 않은 점은 경로 세그먼트의 한쪽 또는 다른 쪽에 있으며 '정확히 테두리'라는 텍스트입니다.

공차를 사용한 테두리 테스트는 GMSGeometryIsLocationOnPath()를 참고하세요.

부울 GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point,
GMSPath * 경로,
부울 geodesic
CLLocationDistance 용도
)

point이 지정된 tolerance 내의 path 또는 그 근처에 있는지 미터 단위로 반환합니다.

pathgeodesic이 YES인 경우 큰 원분할로, geodesic이 NO인 경우 루저 (전록소체) 선분으로 구성됩니다.

GMSGeometryIsLocationOnPath(점, 경로, 최단 거리)도 참조하세요.

허용 오차(미터)는 지구의 구면 반지름을 기준으로 합니다. 다른 반지름의 구체에서 작업해야 하는 경우 RadiusEarth ==6371009로 반지름 R의 원하는 공차로부터 동일한 공차를 계산할 수 있습니다. 공차=공차R * (RadiusEarth / R)입니다.

부울 GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point,
GMSPath * 경로,
부울 최단 거리
)

GMSGeometryIsLocationOnPath(지점, 경로, 최단 거리, 허용 오차)와 동일하며 기본 허용 오차는 0.1미터입니다.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from,
CLLocationCoordinate2D ~
)

지구에서 두 좌표 사이의 대원 거리를 미터 단위로 반환합니다.

구에서 두 좌표 사이의 최단 거리입니다.

두 좌표 모두 유효해야 합니다.

CLLocationDistance GMSGeometryLength ( GMSPath * 경로)

지구에서 path의 대원 길이(미터)를 반환합니다.

경로 세그먼트에 대한 GMSGeometryDistance()의 합계입니다.

경로의 모든 좌표가 유효해야 합니다.

double GMSGeometryArea ( GMSPath * 경로)

지구에서 path로 정의된 최단 거리 다각형의 면적을 반환합니다.

'내부' 남극을 포함하지 않는 것으로 정의됩니다.

path가 닫히지 않으면 암시적으로 닫힌 경로로 처리되며 결과는 동일합니다.

경로의 모든 좌표가 유효해야 합니다.

다각형은 서로 겹치지 않아야 하고 단순해야 하며 오목한 형태일 수 있습니다.

경로의 구획이 한 쌍의 대척점이면 결과가 정의되지 않습니다. 두 대척점은 구에서 고유한 대원 세그먼트를 형성하지 않기 때문입니다.

double GMSGeometrySignedArea ( GMSPath * 경로)

지구에서 path로 정의된 최단 거리 다각형의 부호 있는 영역을 반환합니다.

결과의 절댓값은 GMSGeometryArea()와 동일합니다. 경로의 지점이 시계 반대 방향이면 양수이고 그렇지 않으면 음수입니다.

GMSGeometryArea()와 동일한 제한사항이 적용됩니다.

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from,
CLLocationCoordinate2D ~
)

to 최단 경로 from의 초기 방향 (북쪽을 기준으로 시계 방향의 각도)을 반환합니다.

반환된 값의 범위는 [0, 360)입니다.

두 좌표가 같으면 0을 반환합니다.

두 좌표 모두 유효해야 합니다.

to에서 최종 방향을 가져오려면 (GMSGeometryHeading(to, from) + 180) 모듈로 360을 사용하면 됩니다.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from,
CLLocationDistance 거리,
CLLocationDirection 제목
)

초기 heading으로 from에서 시작하여 대원호를 따라 distance미터 이동 시 대상 좌표를 반환합니다.

결과 경도의 범위는 [-180, 180]입니다.

두 좌표 모두 유효해야 합니다.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from,
CLLocationCoordinate2D ~,
이중 비율
)

두 좌표 사이의 가장 짧은 경로에서 from 좌표와 to 좌표 사이의 지정된 fraction에 있는 좌표를 반환합니다.

결과 경도의 범위는 [-180, 180]입니다.

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * 경로,
NSArray&lt; GMSStrokeStyle * > * 스타일,
NSArray&lt; NSNumber * > * 길이,
GMSLengthKind lengthKind
)

path를 따라 styleslengths의 스타일 및 길이 정보를 반복적으로 적용하여 구성된 GMSStyleSpan의 NSArray를 반환합니다.

path은 출력 스팬이 계산되는 경로입니다. stylesGMSStrokeStyle의 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 * 경로,
NSArray&lt; GMSStrokeStyle * > * 스타일,
NSArray&lt; NSNumber * > * 길이,
GMSLengthKind lengthKind,
이중 lengthOffset
)

GMSStyleSpans(path, style, lengths, lengthKind)와 비슷하지만, lengths 배열을 기준으로 건너뛰게 될 초기 길이 오프셋을 추가로 사용합니다.

lengthOffset: lengths에서 처음에 건너뛰어야 하는 길이 (예: 미터)입니다.