Geometria GMS

GMSGeometryUtils

Zajęcia

structGMSMapPoint
 Punkt na mapie. Więcej...

Definiuje typ

typedef struct GMSMapPointGMSMapPoint
 Punkt na mapie.

Funkcje

GMSMapPointGMSProject (współrzędna CLLocationCoordinate2D)
 Projekt coordinate na mapie.
Koordynator lokalizacji2DGMSUnproject (punkt GMSMapPoint)
 Usuwa projekt point z mapy.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, podwójne t)
 Zwraca punkt interpolowany liniowo na segmencie [a, b] przy ułamku t od a.
liczba zmiennoprzecinkowaGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Zwraca długość segmentu [a, b] w przewidywanej przestrzeni.
WARTOŚĆGMSGeometryContainsLocation (punkt CLLocationCoordinate2D, GMSPath *ścieżka, geodezyjna BOOL)
 Zwraca, czy point znajduje się wewnątrz ścieżki.
WARTOŚĆGMSGeometryIsLocationOnPathTolerance (punkt CLLocationCoordinate2D, GMSPath *ścieżka, geodezyjna BOOL, tolerancja odległości CLLocation)
 Zwraca, czy point znajduje się w pobliżu path lub w pobliżu podanej wartości tolerance w metrach.
WARTOŚĆGMSGeometryIsLocationOnPath (punkt CLLocationCoordinate2D, GMSPath *ścieżka, geodezyjna BOOL)
 Taka sama jak GMSGeometryIsLocationOnPath(punkt, ścieżka, geodezja, tolerancja), z domyślną tolerancją 0,1 metra.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D od, CLLocationCoordinate2D do)
 Zwraca odległość okręgu od dwóch współrzędnych (w metrach) na Ziemi.
CLLocationDistanceGMSGeometryLength (GMSPath *ścieżka)
 Zwraca dużą długość okręgu o wartości path (w metrach) na Ziemi.
liczba zmiennoprzecinkowaGMSGeometryArea (GMSPath *ścieżka)
 Zwraca pole wielokąta geodezyjnego zdefiniowanego przez path na Ziemi.
liczba zmiennoprzecinkowaGMSGeometrySignedArea (GMSPath *ścieżka)
 Zwraca podpisany obszar wielokąta geodezyjnego zdefiniowany przez path na Ziemi.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D, od CLLocationCoordinate2D do)
 Zwraca początkowy kierunek (stopnie w prawo od północy) w miejscu from najkrótszej ścieżki do to.
Koordynator lokalizacji2DGMSGeometryOffset (CLLocationCoordinate2D z, CLLocationOdległość, nagłówek CLLocationDirection)
 Zwraca współrzędną miejsca docelowego, gdy rozpoczyna się od from od początkowego heading i biegnie distance m wzdłuż dużego okręgu na Ziemi.
Koordynator lokalizacji2DGMSGeometryInterpolate (CLLocationCoordinate2D od, CLLocationCoordinate2D do, ułamek podwójny)
 Zwraca współrzędną, która leży w odległości określonej przez fraction w odległości między współrzędnymi from i to na najkrótszej ścieżce między nimi.
NSArray&lt; GMSStyleSpan* > GMSStyleSpans (GMSPath *path, NSTrack< GMSStrokeStyle * > *styles, NSTrack< NSNumber * > *lengths, GMSLengthKindlengthKind)
 Zwraca NSTablica GMSStyleSpan utworzona przez powtórzone zastosowanie informacji o stylu i długości z styles i lengths w path.
NSArray&lt; GMSStyleSpan* > GMSStyleSpansOffset (GMSPath *path, NSTrack< GMSStrokeStyle * > *styles, NStablica< NSNumber * > *lengths, GMSLengthKind długość, podwójna długośćOffset)
 Podobnie jak w przypadku obiektu GMSStyleSpans(ścieżka, style, długości, długośćKind), ale dodatkowo obejmuje początkowe przesunięcie długości, które zostanie pominięte w stosunku do 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: wartość y rośnie w kierunku północy, a x w kierunku wschodnim. (0, 0) to środek mapy.

Zobacz GMSProject() i GMSUnproject().


Dokumentacja funkcji

GMSMapPoint GMSProject ( Koordynator lokalizacji2D współrzędna)

Projekt coordinate na mapie.

Pole coordinate musi być prawidłowe.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint punkt)

Usuwa projekt point z mapy.

punkt.x musi należeć do zakresu [-1, 1].

GMSMapPoint GMSMapPointInterpolate ( GMSMapPoint a,
GMSMapPoint B
liczba zmiennoprzecinkowa T
)

Zwraca punkt interpolowany liniowo na segmencie [a, b] przy ułamku t od a.

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

Interpolacja ma miejsce na krótkiej ścieżce między punktami potencjalnie przekraczającymi linię daty. Na przykład: interpolacja z San Francisco do Tokio przejdzie na północ od Hawajów i przekroczy linię daty.

liczba zmiennoprzecinkowa GMSMapPointDistance ( GMSMapPoint a,
GMSMapPoint B
)

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

Długość jest obliczana na krótkiej ścieżce między punktami potencjalnie przekraczającymi linię daty. Na przykład: odległość między punktami odpowiadającymi San Francisco i Tokio mierzy odcinek, który przebiega na północ od Hawajów i przekracza linię daty.

BOOL GMSGeometryContainsLocation ( Koordynator lokalizacji2D point,
GMSPath * path,
WARTOŚĆ geodezja
)

Zwraca, czy point znajduje się wewnątrz ścieżki.

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

Wewnątrz definiuje się jako niezawierające bieguna południowego – biegun południowy znajduje się zawsze na zewnątrz.

Parametr path opisuje segmenty koła, jeśli pole geodesic ma wartość TAK, a segmenty rrhumb (loksodromiczne) są w innym przypadku używane.

Jeśli point jest dokładnie taki sam jak jeden z wierzchołków, wynik to TAK. Punkt, który jest inny niż wierzchołek, znajduje się po jednej lub po drugiej stronie dowolnego segmentu ścieżki – nie może nigdy znajdować się „dokładnie na obramowania”.

Sprawdź GMSGeometryIsLocationOnPath(), aby sprawdzić test granicy z tolerancją.

BOOL GMSGeometryIsLocationOnPathTolerance ( Koordynator lokalizacji2D point,
GMSPath * path,
WARTOŚĆ geodezyjne,
CLLocationDistance tolerancja
)

Zwraca, czy point znajduje się w pobliżu path lub w pobliżu podanej wartości tolerance w metrach.

Jeśli geodesic ma wartość TAK, path składa się z segmentów dużych koła, a jeśli geodesic ma wartość NO, z segmentów rrhumba (loksodromicznych).

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

Tolerancja (w metrach) jest związana z promieniem sferycznym Ziemi. Jeśli chcesz pracować nad kulą o innym promieniu, możesz obliczyć tolerancję równoważną na podstawie oczekiwanej tolerancji dla kuli promienia R: tolerancja = tolerancjaR * (PromieńEarth / R) dla parametru RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( Koordynator lokalizacji2D punkt,
GMSPath * path,
WARTOŚĆ geodezja
)

Taka sama jak GMSGeometryIsLocationOnPath(punkt, ścieżka, geodezja, tolerancja), z domyślną tolerancją 0,1 metra.

CLLocationOdległość GMSGeometryDistance ( Koordynator lokalizacji2D od,
Koordynator lokalizacji2D do
)

Zwraca odległość okręgu od dwóch współrzędnych (w metrach) na Ziemi.

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

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

Odległość CLLocation GMSGeometryLength ( GMSPath * ścieżka)

Zwraca dużą długość okręgu o wartości path (w metrach) na Ziemi.

To suma wartości GMSGeometryDistance() w segmentach ścieżki.

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

podwójny obszar GMSGeometryArea ( GMSPath * ścieżka)

Zwraca pole wielokąta geodezyjnego zdefiniowanego przez path na Ziemi.

Wewnątrz wielokąta jest określony jako niezawierający bieguna południowego.

Jeśli dyrektywa path nie jest zamknięta, jest domyślnie traktowana jako zamknięta ścieżka, a wynik jest taki sam.

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

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

Jeśli dowolny odcinek ścieżki stanowi parę punktów antypodycznych, wynik jest nieokreślony, ponieważ dwa punkty przystawkowe nie tworzą na kuli unikalnej wielkiego segmentu okręgu.

podwójny GMSGeometrySignedArea ( GMSPath * ścieżka)

Zwraca podpisany obszar wielokąta geodezyjnego zdefiniowany przez path na Ziemi.

Wynik ma tę samą wartość bezwzględną co funkcja GMSGeometryArea(); jest dodatni, jeśli punkty ścieżki są ustawione w przeciwnym razie, lub ujemne, jeśli jest w przeciwnym razie.

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

CLLocationDirection GMSGeometryHeading ( Koordynator lokalizacji2D od,
Koordynator lokalizacji2D do
)

Zwraca początkowy kierunek (stopnie w prawo od północy) w miejscu from najkrótszej ścieżki do to.

Zwracana wartość mieści się w zakresie [0, 360).

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

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

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

CLLocationCoordinate2D GMSGeometryOffset ( Koordynator lokalizacji2D od,
CLLocationDistance odległość,
CLLocationDirection nagłówek
)

Zwraca współrzędną miejsca docelowego, gdy rozpoczyna się od from od początkowego heading i biegnie distance m wzdłuż dużego okręgu na Ziemi.

Otrzymana długość geograficzna mieści się w zakresie [-180, 180).

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

CLLocationCoordinate2D GMSGeometryInterpolate ( Koordynator lokalizacji2D od,
Koordynator lokalizacji2D do,
liczba zmiennoprzecinkowa ułamek
)

Zwraca współrzędną, która leży w odległości określonej przez fraction w odległości między współrzędnymi from i to na najkrótszej ścieżce między nimi.

Otrzymana długość geograficzna mieści się w zakresie [-180, 180).

NSTablica<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * path,
NSArray&lt; GMSStrokeStyle* > styles,
NSArray&lt; NSNumber* > długości,
GMSLengthKind lengthKind
)

Zwraca NSTablica GMSStyleSpan utworzona przez powtórzone zastosowanie informacji o stylu i długości z styles i lengths w path.

path ścieżka, na której obliczane są spany wyjściowe. styles NStablica GMSStrokeStyle. Powoduje zawijanie treści w przypadku zużycia. Nie może być puste. lengths NSTablica NSNumber; każdy wpis podaje długość odpowiedniego stylu z zakresu styles. Powoduje zawijanie treści w przypadku zużycia. Nie może być puste. lengthKind interpretacja wartości z metody lengths (geodezyjna, rohumb lub prognozowana).

Przykład: linia łamana z naprzemiennymi czarno-białymi rozpiętkami:

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

Podobnie jak w przypadku obiektu GMSStyleSpans(ścieżka, style, długości, długośćKind), ale dodatkowo obejmuje początkowe przesunięcie długości, które zostanie pominięte w stosunku do tablicy lengths.

lengthOffset długość (np. w metrach), która ma być pomijana od lengths.