GMSGeometryUtiltiller

GMSGeometryUtils

Sınıflar

structGMSMapPoint
 Harita üzerinde bir nokta. Diğer...

Typedef'ler

typedef struct GMSMapPointGMSMapPoint
 Harita üzerinde bir nokta.

İşlevler

GMSMapPointGMSProject (CLLocationcoordinate2D koordinatı)
 Projeler coordinate haritada.
CLKonumKoordinatı2DGMSUnproject (GMSMapPoint noktası)
 point projesini haritadan kaldırır.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, çift t)
 [a, b] segmentinde, a değerinden t kesirde doğrusal olarak interpolasyon elde edilen bir nokta döndürür.
iki katGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Öngörülen alan içindeki segmentin [a, b] uzunluğunu döndürür.
BOOLGMSGeometryContainsLocation (CLLocationKoordinat2D noktası, GMSPath *path, BOOL jeodeziği)
 point öğesinin yolun içinde olup olmadığını döndürür.
BOOLGMSGeometryIsLocationOnPathTolerance (CLLocationcoordinate2D noktası, GMSPath *path, BOOL jeodeziği, CLLocationLength tolerans)
 point öğesinin, belirtilen tolerance dahilinde metre cinsinden path üzerinde mi yoksa yakınında mı olduğunu döndürür.
BOOLGMSGeometryIsLocationOnPath (CLLocationcoordinate2D noktası, GMSPath *path, BOOL jeodeziği)
 0, 1 metrelik varsayılan toleransla GMSGeometryIsLocationOnPath(nokta, yol, jeodezik, tolerans) ile aynıdır.
CLLocationDistanceGMSGeometryDistance (CLLocationKoordinat2D uzaklığı, CLLocationKoordinatörü2D -)
 Dünya üzerinde iki koordinat arasındaki büyük daire mesafesini metre cinsinden döndürür.
CLLocationDistanceGMSGeometryLength (GMSPath *yol)
 Dünya üzerinde path ifadesinin büyük daire uzunluğunu metre cinsinden döndürür.
iki katGMSGeometryArea (GMSPath *yol)
 Dünya üzerinde path tarafından tanımlanan jeodezik poligonun alanını döndürür.
iki katGMSGeometrySignedArea (GMSPath *yol)
 Dünya üzerinde path tarafından tanımlanan jeodezik poligonun işaretli alanını döndürür.
CLLocationDirectionGMSGeometryHeading (CLLocation işbirliği2D from, CLLocationKoordinatör2D -)
 to yönüne giden en kısa yolun from konumunda ilk yönü (Kuzey saat yönünde derece) döndürür.
CLKonumKoordinatı2DGMSGeometryOffset (CLLocationcoordinate2D from, CLLocationLength mesafe, CLLocationDirection başlığı)
 Dünya üzerinde büyük bir dairesel yay boyunca distance metre ilerlerken, başlangıçtaki heading ile from itibarıyla hedef koordinatını döndürür.
CLKonumKoordinatı2DGMSGeometryInterpolate (CLLocationcoordinate2D from, CLLocationKoordinat2D -, çift kesir)
 İkisi arasındaki en kısa yolda from ile to koordinatları arasında verilen fraction yolunda yer alan koordinatı döndürür.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKindlengthKind)
 path boyunca styles ve lengths kaynaklı stil ve uzunluk bilgilerinin tekrar tekrar uygulanmasıyla oluşturulan bir GMSStyleSpan NSArray döndürür.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind seçeneğiniz, çift uzunlukOfseti)
 GMSStyleSpans(yol, stiller, uzunluklar,uzunluk) özelliğine benzer ancak ek olarak, lengths dizisine göre atlanacak olan başlangıç uzunluk farkını alır.

Typedef Belgeleri

typedef struct GMSMapPoint GMSMapPoint

Harita üzerinde bir nokta.

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

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

Bkz. GMSProject() ve GMSUnproject().


İşlev Dokümanları

GMSMapPoint GMSProject ( CLKonumKoordinatı2D koordinat)

Projeler coordinate haritada.

coordinate geçerli olmalıdır.

CLLocationKoordinatörü2D GMSUnproject ( GMSMapPoint puan)

point projesini haritadan kaldırır.

Point.x değeri [-1, 1] aralığında olmalıdır.

[a, b] segmentinde, a değerinden t kesirde doğrusal olarak interpolasyon elde edilen bir nokta döndürür.

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

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

Öngörülen alan içindeki segmentin [a, b] uzunluğunu döndürür.

Uzunluk, tarih çizgisini geçme ihtimali olan noktalar arasındaki kısa yol boyunca hesaplanır. Ör. Bu sayı, San Francisco ve Tokyo'ya karşılık gelen noktalar arasındaki mesafe, Hawaii'nin kuzeyinden geçen ve tarih çizgisini geçen segmenti ölçer.

BOOL GMSGeometryContainsLocation ( CLKonumKoordinatı2D point,
GMSPath * path
BOOL jeodezik
)

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

Son noktanın ilkiyle aynı olup olmadığına bakılmaksızın, yol her zaman kapalı olarak kabul edilir.

İçerisi 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şparmakla (loksdromik) segmentleri tanımlar.

point, köşelerden birine tam olarak eşitse sonuç EVET olur. Bir tepe noktasına eşit olmayan bir nokta, herhangi bir yol segmentinin bir tarafında veya diğer tarafındadır. Hiçbir zaman "tam olarak kenarlık" olarak da adlandırılır.

Toleranslı bir sınır testi için GMSGeometryIsLocationOnPath() bölümüne bakın.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLKonumKoordinatı2D point,
GMSPath * path
BOOL jeodezik,
CLLocationDistance tolerans
)

point öğesinin, belirtilen tolerance dahilinde metre cinsinden path üzerinde mi yoksa yakınında mı olduğunu döndürür.

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

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

Metre cinsinden tolerans, dünyanın küresel yarıçapına göre hesaplanır. Yarıçapı farklı bir kürede çalışmanız gerekiyorsa, Yarıçapı ==6371009 olan R yarıçapı=toleranceR * (RadiusEarth / R ) yarıçapı küresinde elde etmek istediğiniz toleranstan eşdeğer toleransı hesaplayabilirsiniz.

GMSGeometryIsLocationOnPath komutunu çağırın ( CLKonumKoordinatı2D point,
GMSPath * path
BOOL jeodezik
)

0, 1 metrelik varsayılan toleransla GMSGeometryIsLocationOnPath(nokta, yol, jeodezik, tolerans) ile aynıdır.

CLKonum Mesafe GMSGeometryDistance ( CLKonumKoordinatı2D from,
CLKonumKoordinatı2D -
)

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

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

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

CLLocationMesafe GMSGeometryLength ( GMSPath * path)

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

Bu, yol segmentleri üzerindeki GMSGeometryDistance() sayısının toplamıdır.

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

çift GMSGeometryArea ( GMSPath * path)

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

"İç" Güney Kutbu'nu içermeyen çokgen bulunur.

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

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

Poligon basit olmalıdır (kendiyle örtüşmemelidir) ve içbükey olabilir.

Yolun herhangi bir segmenti bir antipodal nokta çiftiyse sonuç tanımlanmaz, çünkü iki antipodal nokta küre üzerinde benzersiz bir büyük daire segmenti oluşturmaz.

çift GMSGeometrySignedArea ( GMSPath * path)

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

Sonuç, GMSGeometryArea() ile aynı mutlak değere sahiptir; yolun noktaları saat yönünün tersine, pozitif, aksi durumda negatiftir.

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

CLLocationDirection GMSGeometryHeading ( CLKonumKoordinatı2D from,
CLKonumKoordinatı2D -
)

to yönüne giden en kısa yolun from konumunda ilk yönü (Kuzey saat yönünde derece) 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(from) + 180) modülü 360 modu kullanılabilir.

CLLocationKoordinatörü2D GMSGeometryOffset ( CLKonumKoordinatı2D from,
CLLocationDistance mesafe,
CLLocationDirection başlık
)

Dünya üzerinde büyük bir dairesel yay boyunca distance metre ilerlerken, başlangıçtaki heading ile from itibarıyla hedef koordinatını döndürür.

Sonuç olarak elde edilen boylam, [-180, 180 aralığındadır.)

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

CLLocationKoordinatörü2D GMSGeometryInterpolate ( CLKonumKoordinatı2D from,
CLKonumKoordinatı2D -,
iki kat bölüm
)

İkisi arasındaki en kısa yolda from ile to koordinatları arasında verilen fraction yolunda yer alan koordinatı döndürür.

Sonuç olarak elde edilen boylam, [-180, 180 aralığındadır.)

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath * path
NSArray&lt; GMSStrokeStyle * > * styles,
NSArray&lt; NSNumber * > * uzunluk,
GMSLengthKind lengthKind
)

path boyunca styles ve lengths kaynaklı stil ve uzunluk bilgilerinin tekrar tekrar uygulanmasıyla oluşturulan bir GMSStyleSpan NSArray döndürür.

path, çıkış aralıklarının hesaplandığı yol. styles bir GMSStrokeStyle NSArray. Harcanırsa sarmalar. Boş olamaz. lengths bir NSArray of NSNumber; her giriş, styles öğesinden karşılık gelen stilin uzunluğunu verir. Harcanırsa sarmalar. Boş olamaz. lengths değerlerinin yorumlanmasında lengthKind (jeodezik, baş parmak veya öngörülen uçlu).

Örnek: dönüşümlü olarak siyah ve beyaz aralıkların olduğu 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
NSArray&lt; GMSStrokeStyle * > * styles,
NSArray&lt; NSNumber * > * uzunluk,
GMSLengthKind lengthKind,
iki kat lengthOffset
)

GMSStyleSpans(yol, stiller, uzunluklar,uzunluk) özelliğine benzer ancak ek olarak, lengths dizisine göre atlanacak olan başlangıç uzunluk farkını alır.

lengthOffset lengths konumundan ilk olarak atlanması gereken uzunluk (ör. metre cinsinden).