Geometria GMS

GMSGeometryUtils

Zajęcia

structGMSMapPoint
 Punkt na mapie. Więcej...

Typy typów

typedef struct GMSMapPointGMSMapPoint
 Punkt na mapie.

Funkcje

GMSMapPointGMSProject (współrzędna CLLocationCoordinate2D)
 Wyświetla projekt coordinate na mapę.
CLLocationCoordinate2DGMSUnproject (punkt GMSMapPoint),
 Odwzorowuje obiekt point na mapie.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, podwójne t)
 Zwraca punkt z interpolacją liniową na segmencie [a, b] jako ułamek t z a.
zmiennoprzecinkowaGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Zwraca długość segmentu [a, b] w przewidywanej przestrzeni.
BOOLGMSGeometryContainsLocation (punkt CLLocationCoordinate2D, GMSPath *ścieżka, geodezja BOOL)
 Zwraca, czy element point znajduje się w ścieżce.
BOOLGMSGeometryIsLocationOnPathTolerance (punkt CLLocationCoordinate2D, GMSPath *ścieżka, dane geodezyjne BOOL, tolerancja CLLocationLocation)
 Zwraca, czy point leży w pobliżu path czy w pobliżu podanej tolerance w metrach.
BOOLGMSGeometryIsLocationOnPath (punkt CLLocationCoordinate2D, GMSPath *ścieżka, geodezja BOOL)
 Ta sama wartość co w przypadku elementu GMSGeometryIsLocationOnPath(punkt, ścieżka, geodezja, tolerancja) z domyślną tolerancją wynoszącą 0,1 metra.
CLLocationLocationGMSGeometryDistance (CLLocationCoordinate2D od, CLLocationCoordinate2D do)
 Zwraca odległość okręgu na Ziemię między dwoma współrzędnymi (w metrach).
CLLocationLocationGMSGeometryLength (GMSPath *ścieżka)
 Zwraca długość okręgu na Ziemi path (w metrach).
zmiennoprzecinkowaGMSGeometryArea (GMSPath *ścieżka)
 Zwraca pole powierzchni wielokąta geodezyjnego zdefiniowanego w Google Earth przez obiekt path.
zmiennoprzecinkowaGMSGeometrySignedArea (GMSPath *ścieżka)
 Zwraca zaznaczony obszar wielokąta geodezyjnego zdefiniowanego przez funkcję path w Google Earth.
CLLocationDirection;GMSGeometryHeading (CLLocationCoordinate2D od, CLLocationCoordinate2D do)
 Zwraca początkowy nagłówek (stopnie w prawo na północ) w miejscu from najkrótszej ścieżki do to.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D od, odległość CLLocationDistance, nagłówek CLLocationDirection),
 Zwraca współrzędną miejsca docelowego, gdy rozpoczyna się od from i początkowych heading, pokonując distance metrów wzdłuż łuku wielkiego okręgu na Ziemi.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D od, CLLocationCoordinate2D do, ułamek podwójny)
 Zwraca współrzędną leżącą w danym fraction odległości między współrzędnymi from i to na najkrótszej ścieżce między nimi.
NSSlate< GMSStyleSpan * > * GMSStyleSpans (GMSPath *path, NSSlate< GMSStrokeStyle * > *styles, NSSlate< NSNumber * > *lengths, GMSLengthKind długościKind)
 Zwraca tablicę NSSlate typu GMSStyleSpan utworzoną przez wielokrotne zastosowanie informacji o stylu i długości z ciągów styles i lengths wraz z parametrem path.
NSSlate< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSSlate< GMSStrokeStyle * > *styles, NSSlate< NSNumber * > *lengths, GMSLengthKind długościKind, podwójna długość przesunięcia)
 Podobnie jak w przypadku elementu GMSStyleSpans(ścieżka, style, długości, długość całkowita), jednak dodatkowo uwzględnia początkowe przesunięcie długości, które będzie pomijane względem tablicy lengths.

Dokumentacja Typedef

typedef struct GMSMapPoint GMSMapPoint

Punkt na mapie.

Może reprezentować przewidywaną współrzędną.

x mieści się w zakresie [-1, 1]. Kierunek osi jest normalny: y zwiększa się w kierunku północy, x w kierunku wschodnim. (0, 0) to środek mapy.

Zobacz GMSProject() i GMSUnproject().


Dokumentacja funkcji

GMSMapPoint GMSProject ( CLLocationCoordinate2D współrzędne)

Wyświetla projekt coordinate na mapę.

Pole coordinate musi być prawidłowe.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint punkt)

Odwzorowuje obiekt point na mapie.

Point.x musi znajdować się w zakresie [-1, 1].

GMSMapPoint GMSMapPointInterpolate ( GMSMapPoint a,
GMSMapPoint b,
zmiennoprzecinkowa t 
)

Zwraca punkt z interpolacją liniową na segmencie [a, b] jako ułamek t z a.

t==0 odpowiada a, t==1 odpowiada b.

Interpolacja zachodzi wzdłuż krótkiej ścieżki między punktami potencjalnie przekraczającymi linię daty. Na przykład interpolacja z San Francisco do Tokio minie na północ od Hawajów i przekracza linię dat.

podwójna odległość GMSMapPointDistance ( GMSMapPoint a,
GMSMapPoint b
)

Zwraca długość segmentu [a, b] w przewidywanej przestrzeni.

Długość jest obliczana wzdłuż krótkiej ścieżki między punktami, które mogą ją przekraczać. Np. odległość między punktami odpowiadającymi San Francisco i Tokio oznacza odcinek, który przebiega na północ od Hawajów i przekracza linię daty.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D point,
GMSPath path,
BOOL geodesic (geodezjaki)
)

Zwraca, czy element point znajduje się w ścieżce.

Ścieżka jest zawsze uważana za zamkniętą, niezależnie od tego, czy ostatni punkt jest taki sam jak pierwszy.

Wewnątrz znajduje się biegun południowy, który nie obejmuje bieguna południowego – biegun południowy jest zawsze na zewnątrz.

Funkcja path opisuje segmenty dużych okręgów, jeśli geodesic ma wartość TAK, a segmenty rosyjskie (lokodromowe) są w innym przypadku.

Jeśli point jest dokładnie równy jednemu z wierzchołków, wynik to TAK. Punkt, który nie jest równy wierzchołkowi, znajduje się po jednej lub drugiej stronie dowolnego segmentu ścieżki – nigdy nie może znajdować się „dokładnie na granicy”.

Aby uzyskać informacje o teście granic z tolerancją, zobacz GMSGeometryIsLocationOnPath().

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point,
GMSPath path,
BOOL geodesic,
CLLocationLocation tolerancja
)

Zwraca, czy point leży w pobliżu path czy w pobliżu podanej tolerance w metrach.

Element path składa się z segmentów spiralnych, jeśli geodesic ma wartość TAK, oraz z segmentów kciuka (lokodromowych), jeśli geodesic ma wartość NIE.

Zobacz też GMSGeometryIsLocationOnPath(punkt, ścieżka, geodezja).

Tolerancja (w metrach) jest związana z promieniem sferycznym Ziemi. Jeśli chcesz pracować na kuli o innym promieniu, możesz obliczyć równoważną tolerancję na podstawie żądanej tolerancji dla kuli o promieniu R: tolerancja = tolerancja = tolerancja = (promień Ziemi / R) z wartością RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D point,
GMSPath path,
BOOL geodesic (geodezjaki)
)

Ta sama wartość co w przypadku elementu GMSGeometryIsLocationOnPath(punkt, ścieżka, geodezja, tolerancja) z domyślną tolerancją wynoszącą 0,1 metra.

CLLocationLocation GMSGeometryDistance ( CLLocationCoordinate2D from (od) i
CLLocationCoordinate2D to
)

Zwraca odległość okręgu na Ziemię między dwoma współrzędnymi (w metrach).

To najkrótsza odległość między dwoma współrzędnymi na kuli ziemskiej.

Oba współrzędne muszą być prawidłowe.

CLLocationLocation GMSGeometryLength ( GMSPath ścieżka)

Zwraca długość okręgu na Ziemi path (w metrach).

Jest to suma funkcji GMSGeometryDistance() dla segmentów ścieżki.

Wszystkie współrzędne ścieżki muszą być prawidłowe.

podwójny GMSGeometryArea ( GMSPath ścieżka)

Zwraca pole powierzchni wielokąta geodezyjnego zdefiniowanego w Google Earth przez obiekt path.

„Wewnątrz” wielokąta oznacza, że nie zawiera on bieguna południowego.

Jeśli lokalizacja path nie jest zamknięta, jest jednak traktowana jako ścieżka zamknięta, a rezultat jest taki sam.

Wszystkie współrzędne ścieżki muszą być prawidłowe.

Wielokąt musi być prosty (nie może się nakładać) i może być wklęsły.

Jeśli dowolny fragment ścieżki jest parą punktów antypodowych, wynik jest niezdefiniowany, ponieważ dwa antypodobne punkty nie tworzą unikalnego, wielkiego segmentu okręgu na kuli.

podwójny GMSGeometrySignedArea ( GMSPath ścieżka)

Zwraca zaznaczony obszar wielokąta geodezyjnego zdefiniowanego przez funkcję path w Google Earth.

Wynik ma tę samą wartość bezwzględną co funkcja GMSGeometryArea(). Jest dodatni, jeśli punkty na ścieżce są podane w lewo i w przeciwnym razie, a w przeciwnym razie jest on ujemny.

Obowiązują te same ograniczenia co w przypadku GMSGeometryArea().

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from (od) i
CLLocationCoordinate2D to
)

Zwraca początkowy nagłówek (stopnie w prawo na północ) w miejscu from najkrótszej ścieżki do to.

Zwrócona wartość mieści się w zakresie [0, 360).

Zwraca wartość 0, jeśli te współrzędne są takie same.

Oba współrzędne muszą być prawidłowe.

Aby uzyskać ostateczny nagłówek w miejscu to, możesz użyć (GMSGeometryHeading(to, from) + 180) modulo 360.

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D from (od) i
CLLocationLocation odległość,
CLLocationDirection; heading
)

Zwraca współrzędną miejsca docelowego, gdy rozpoczyna się od from i początkowych heading, pokonując distance metrów wzdłuż łuku wielkiego okręgu na Ziemi.

Otrzymana długość geograficzna to zakres [-180, 180).

Oba współrzędne muszą być prawidłowe.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D from (od) i
CLLocationCoordinate2D to,
zmiennoprzecinkowa ułamek
)

Zwraca współrzędną leżącą w danym fraction odległości między współrzędnymi from i to na najkrótszej ścieżce między nimi.

Otrzymana długość geograficzna to zakres [-180, 180).

NSSlate<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path,
NSSlate< GMSStrokeStyle * > *  styles,
NSSlate< NSNumber * > *  lengths (długości),
GMSLengthKind lengthKind
)

Zwraca tablicę NSSlate typu GMSStyleSpan utworzoną przez wielokrotne zastosowanie informacji o stylu i długości z ciągów styles i lengths wraz z parametrem path.

path ścieżka, na której obliczane są spany wyjściowe. styles NSTab z GMSStrokeStyle. Zawija się po użyciu. Pole nie może być puste. lengths NSTab z NSNumber; każda pozycja zawiera długość odpowiedniego stylu od styles. Zawija się po użyciu. Pole nie może być puste. lengthKind interpretacja wartości z parametru lengths (geodezjazm, rurami lub prognozowana).

Przykład: linia łamana ze naprzemiennymi, czarno-białymi rozpiętościami:

 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);
 
NSSlate<GMSStyleSpan *>* GMSStyleSpansOffset ( GMSPath path,
NSSlate< GMSStrokeStyle * > *  styles,
NSSlate< NSNumber * > *  lengths (długości),
GMSLengthKind lengthKind,
zmiennoprzecinkowa lengthOffset
)

Podobnie jak w przypadku elementu GMSStyleSpans(ścieżka, style, długości, długość całkowita), jednak dodatkowo uwzględnia początkowe przesunięcie długości, które będzie pomijane względem tablicy lengths.

lengthOffset długość (np. w metrach), którą należy pominąć początkowo od lengths.