GMSGeometryUtiltiller

GMSGeometryUtils

Sınıflar

structGMSMapPoint
 Haritada bir nokta. Diğer...

Typedef'ler

typedef struct GMSMapPointGMSMapPoint
 Haritada bir nokta.

İşlevler

GMSMapPointGMSProject (CLLocation Koordinatör2D koordinatı)
 Projeler haritaya coordinate.
CLLocationKoordinatör2DGMSUnproject (GMSMapPoint noktası)
 point projesini haritadan kaldırır.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, çift t)
 [a, b] segmenti üzerinde a ile t kesirinde doğrusal interpolasyona sahip bir nokta döndürür.
çiftGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Öngörülen alanda [a, b] segmentinin uzunluğunu döndürür.
BOOLGMSGeometryContainsLocation (CLLocation zorunlu koordinatör2D noktası, GMSPath *yol, BOOL jeodezik)
 point değerinin yolun içinde olup olmadığını döndürür.
BOOLGMSGeometryIsLocationOnPathTolerance (CLLocation Koordinatör2D noktası, GMSPath *yol, BOOL jeodezik, CLLocationUzaklık toleransı)
 point öğesinin metre cinsinden belirtilen tolerance dahilinde, path üzerinde veya yakınında olup olmadığını döndürür.
BOOLGMSGeometryIsLocationOnPath (CLLocation Koordinatör2D noktası, GMSPath *yol, BOOL jeodezik)
 GMSGeometryIsLocationOnPath(nokta, yol, jeodezik, tolerans) ile aynıdır, varsayılan tolerans değeri 0,1 metredir.
CLLocationUzaklıkGMSGeometryDistance (CLLocation zorunlu koordinat koordinatörü, CLLocation Koordinatör2D ile)
 Dünya üzerinde iki koordinat arasındaki büyük daire mesafesini metre cinsinden döndürür.
CLLocationUzaklıkGMSGeometryLength (GMSPath *path)
 Dünya üzerinde path değerinin metre cinsinden büyük daire uzunluğunu döndürür.
çiftGMSGeometryArea (GMSPath *path)
 Dünya üzerinde path tarafından tanımlanan jeodezik poligonun alanını döndürür.
çiftGMSGeometrySignedArea (GMSPath *yolu)
 Dünya üzerinde path tarafından tanımlanan jeodezik bir poligonun işaretli alanını döndürür.
CLLocationDirection (CLKonumYönü)GMSGeometryHeading (CLLocation zorunlu koordinat koordinatörü, CLLocation Koordinatör2D ile)
 to konumuna giden en kısa yolun from. noktasındaki başlangıç yönünü (saat yönünden saat yönünde) döndürür.
CLLocationKoordinatör2DGMSGeometryOffset (CLLocation zorunlu koordinat 2D kaynağından, CLLocationUzaklık mesafesi, CLLocationDirection başlığı)
 from noktasında ilk heading ile başlayıp Dünya'da büyük bir daire yay üzerinde distance metre yol katettiğinizde hedef koordinatını döndürür.
CLLocationKoordinatör2DGMSGeometryInterpolate (CLLocation zorunlu koordinat 2D ile, CLLocationKoordinatör2D'den, çift kesir)
 İkisi arasındaki en kısa yolda from ile to koordinatları arasında belirli fraction yola ulaşılabilen koordinatı döndürür.
NSArray< GMSStyleSpan * > * GMSStyleSpans (GMSPath *path *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind)
 path boyunca styles ve lengths öğesinden stil ve uzunluk bilgilerinin tekrarlanan şekilde uygulanmasıyla oluşturulan bir GMSStyleSpan NSArray döndürür.
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, çift lengthoffset)
 GMSStyleSpans(path, URLs, lengths, lengthKind) ile benzerdir, ancak ek olarak lengths dizisine göre atlanacak bir başlangıç uzunluk ofseti alır.

Typedef Belgeleri

typedef struct GMSMapPoint GMSMapPoint

Haritada bir nokta.

Öngörülen bir koordinatı temsil edebilir.

x [-1; 1] içindedir. Eksen yönü normaldir: y kuzeye, x doğuya doğru büyür. (0, 0) haritanın merkezidir.

Bkz. GMSProject() ve GMSUnproject().


İşlev Dokümanları

GMSMapPoint GMSProject ( CLLocationKoordinatör2D koordinat)

Projeler haritaya coordinate.

coordinate geçerli olmalıdır.

CLLocation Koordinatör2D GMSUnproject ( GMSMapPoint nokta)

point projesini haritadan kaldırır.

Point.x [-1; 1] içinde olmalıdır.

[a, b] segmenti üzerinde a ile t kesirinde doğrusal interpolasyona sahip bir nokta döndürür.

t==0, a değerine, t==1 ise b'ye karşılık gelir.

İnterpolasyon, tarih çizgisini geçme olasılığı olan noktalar arasındaki kısa yol boyunca gerçekleştirilir. Örneğin, San Francisco'dan Tokyo'ya interpolasyon yapmak Hawaii'nin kuzeyinden geçer ve tarih çizgisini aşacaktır.

Öngörülen alanda [a, b] segmentinin uzunluğunu döndürür.

Uzunluk, tarih çizgisini geçme olasılığı bulunan noktalar arasındaki kısa yol boyunca hesaplanır. Örneğin, San Francisco ve Tokyo'ya karşılık gelen noktalar arasındaki mesafe, tarih çizgisini geçerek Hawaii'nin kuzeyinden geçen segmenti ölçer.

BOOL GMSGeometryContainsLocation ( CLLocationKoordinatör2D puan,
GMSPath path (yol)
BOOL jeodezik
)

point değerinin yolun içinde olup olmadığını döndürür.

Son noktanın ilk noktaya eşit olup olmadığına bakılmaksızın, yol her zaman kapalı kabul edilir.

İçi, Güney Kutbu'nu kapsamaz. Güney Kutbu her zaman dışarıdadır.

path, geodesic değeri EVET ise büyük daire segmentlerini, aksi halde baş parmak (loksdromik) segmentlerini tanımlar.

point köşe noktalarından birine tam olarak eşitse sonuç EVET olur. Bir köşe noktasına eşit olmayan bir nokta, herhangi bir yol segmentinin bir tarafında veya diğer tarafında bulunur. Hiçbir zaman "tam olarak sınırda" olamaz.

Toleranslı sınır testi için GMSGeometryIsLocationOnPath() konusuna bakın.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationKoordinatör2D puan,
GMSPath path (yol)
BOOL jeodezik,
CLLocationUzaklık tolerans
)

point öğesinin metre cinsinden belirtilen tolerance dahilinde, path üzerinde veya yakınında olup olmadığını döndürür.

path, geodesic değeri EVET ise büyük daire segmentlerinden, geodesic değeri EVET ise başparmak (loksdromik) segmentlerinden oluşur.

Ayrıca bkz. GMSGeometryIsLocationOnPath(nokta, yol, jeodezik).

Metre cinsinden tolerans, Dünyanın küresel yarıçapına göredir. Yarıçapı farklı bir küre üzerinde çalışmanız gerekiyorsa, RadiusEarth ==6371009 değerini kullanarak R yarıçap küresinde istenen toleransa karşılık gelen tolerans değerini hesaplayabilirsiniz: tolerance=toleranceR * (RadiusEarth / R).

BOOL GMSGeometryIsLocationOnPath ( CLLocationKoordinatör2D puan,
GMSPath path (yol)
BOOL jeodezik
)

GMSGeometryIsLocationOnPath(nokta, yol, jeodezik, tolerans) ile aynıdır, varsayılan tolerans değeri 0,1 metredir.

CLLocationUzaklık GMSGeometryDistance ( CLLocationKoordinatör2D kimden,
CLLocationKoordinatör2D -
)

Dünya üzerinde iki koordinat arasındaki büyük daire mesafesini metre cinsinden döndürür.

Bu, küre üzerindeki iki koordinat arasındaki en kısa mesafedir.

Her iki koordinat da geçerli olmalıdır.

CLLocationDISTANCE GMSGeometryLength ( GMSPath path (yol))

Dünya üzerinde path değerinin metre cinsinden büyük daire uzunluğunu döndürür.

Bu, yol segmentlerine göre GMSGeometryDistance() toplamıdır.

Yolun tüm koordinatları geçerli olmalıdır.

çift GMSGeometryArea ( GMSPath path (yol))

Dünya üzerinde path tarafından tanımlanan jeodezik poligonun alanını döndürür.

Çokgenin "içi", Güney kutbunu içermez.

path kapalı değilse, dolaylı yoldan kapalı bir yol olarak değerlendirilir ve sonuç aynı olur.

Yolun tüm koordinatları geçerli olmalıdır.

Çokgen basit olmalı (üst üste binmemeli) ve içbükey olabilir.

Yolun herhangi bir bölümü bir çift antipodal nokta çiftiyse, sonuç tanımsız olur, çünkü iki böcek noktası, küre üzerinde benzersiz bir büyük daire segmenti oluşturmaz.

çift GMSGeometrySignedArea ( GMSPath path (yol))

Dünya üzerinde path tarafından tanımlanan jeodezik bir poligonun işaretli alanını döndürür.

Sonuç, GMSGeometryArea() ile aynı mutlak değere sahiptir. Yol noktaları saat yönünün tersi yönde sıralanıyorsa pozitif, aksi halde negatiftir.

GMSGeometryArea() ile aynı kısıtlamalar geçerlidir.

CLLocationDirection GMSGeometryHeading ( CLLocationKoordinatör2D kimden,
CLLocationKoordinatör2D -
)

to konumuna giden en kısa yolun from. noktasındaki başlangıç yönünü (saat yönünden saat yönünde) döndürür.

Döndürülen değer [0, 360 aralığındadır.

İki koordinat aynıysa 0 değerini döndürür.

Her iki koordinat da geçerli olmalıdır.

to adresindeki son başlığı almak için (GMSGeometryHeading(to, from) + 180) modulo 360'ı kullanabilirsiniz.

CLLocation Koordinatör2D GMSGeometryOffset ( CLLocationKoordinatör2D kimden,
CLLocationUzaklık mesafe,
CLLocationDirection (CLKonumYönü) heading
)

from noktasında ilk heading ile başlayıp Dünya'da büyük bir daire yay üzerinde distance metre yol katettiğinizde hedef koordinatını döndürür.

Elde edilen boylam [-180, 180] aralığındadır.

Her iki koordinat da geçerli olmalıdır.

CLLocation Koordinatör2D GMSGeometryInterpolate ( CLLocationKoordinatör2D kimden,
CLLocationKoordinatör2D to,
çift kesir
)

İkisi arasındaki en kısa yolda from ile to koordinatları arasında belirli fraction yola ulaşılabilen koordinatı döndürür.

Elde edilen boylam [-180, 180] aralığındadır.

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath path (yol)
NSArray< GMSStrokeStyle * > *  stiller,
NSArray< NSNumber * > *  lengths,
GMSLengthKind lengthKind
)

path boyunca styles ve lengths öğesinden stil ve uzunluk bilgilerinin tekrarlanan şekilde uygulanmasıyla oluşturulan bir GMSStyleSpan NSArray döndürür.

Çıkış aralıklarının hesaplandığı yol için path. styles: bir GMSStrokeStyle NSArray. Tüketilirse sarılır. Boş olamaz. lengths, NSNumber değerine ait bir NSArray; her giriş, styles aracılığıyla karşılık gelen stilin uzunluğunu verir. Tüketilirse sarılır. Boş olamaz. lengthKind lengths kaynaklı değerlerin yorumlanması (jeodezik, baş parmak veya yansıtma).

Örnek: dönüşümlü olarak siyah ve beyaz aralıkları olan bir çoklu çizgi:

 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 (yol)
NSArray< GMSStrokeStyle * > *  stiller,
NSArray< NSNumber * > *  lengths,
GMSLengthKind lengthKind,
çift lengthOffset
)

GMSStyleSpans(path, URLs, lengths, lengthKind) ile benzerdir, ancak ek olarak lengths dizisine göre atlanacak bir başlangıç uzunluk ofseti alır.

lengths öğesinden ilk olarak atlanması gereken uzunluğu (ör. metre cinsinden) lengthOffset.