GMSGeometryUtils

GMSGeometryUtils

Kelas

strukturGMSMapPoint
 Sebuah titik di peta. Lainnya...

Typedef

typedef struct GMSMapPointGMSMapPoint
 Sebuah titik di peta.

{i>Functions<i}

GMSMapPointGMSProject (koordinat CLLocationCoordinate2D)
 Project coordinate ke peta.
CLLokasiKoordinasi2DGMSUnproject (poin GMSMapPoint)
 Membatalkan project point dari peta.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, double t)
 Menampilkan titik terinterpolasi secara linear pada segmen [a, b], pada pecahan t dari a.
gandaGMSMapPointDistance (GMSMapPoint a, GMSMapPoint b)
 Menampilkan panjang segmen [a, b] dalam ruang yang diproyeksikan.
BOOLGMSGeometryContainsLocation (titik CLLocationCoordinate2D, GMSPath *jalur, geodesi BOOL)
 Menampilkan apakah point terletak di dalam jalur.
BOOLGMSGeometryIsLocationOnPathTolerance (titik CLLocationCoordinate2D, GMSPath *jalur, geodesi BOOL, toleransi CLLocationDistance)
 Menampilkan apakah point terletak di atau dekat path, dalam tolerance yang ditentukan dalam meter.
BOOLGMSGeometryIsLocationOnPath (titik CLLocationCoordinate2D, GMSPath *jalur, geodesi BOOL)
 Sama seperti GMSGeometryIsLocationOnPath(titik, jalur, geodesi, toleransi), dengan toleransi default 0,1 meter.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D dari, CLLocationCoordinate2D hingga)
 Menampilkan jarak lingkaran besar antara dua koordinat, dalam meter, di Bumi.
CLLocationDistanceGMSGeometryLength (GMSPath *jalur)
 Menampilkan panjang lingkaran besar path, dalam meter, di Bumi.
gandaGMSGeometryArea (GMSPath *jalur)
 Menampilkan luas poligon geodesi yang ditentukan oleh path di Earth.
gandaGMSGeometrySignedArea (GMSPath *jalur)
 Menampilkan area bertanda tangan dari poligon geodesi yang ditentukan oleh path di Earth.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D dari, CLLocationCoordinate2D ke)
 Menampilkan arah awal (derajat searah jarum jam dari Utara) di from jalur terpendek ke to.
CLLokasiKoordinasi2DGMSGeometryOffset (CLLocationCoordinate2D dari, CLLocationDistance jarak, arah CLLocationDirection)
 Menampilkan koordinat tujuan, saat dimulai dari from dengan heading awal, yang menempuh jarak distance meter sepanjang busur lingkaran besar, di Bumi.
CLLokasiKoordinasi2DGMSGeometryInterpolate (CLLocationCoordinate2D dari, CLLocationCoordinate2D ke, pecahan ganda)
 Menampilkan koordinat yang menunjukkan fraction yang diberikan pada jalan antara koordinat from dan to pada jalur terpendek di antara keduanya.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpans (GMSPath *jalur, NSArray< GMSStrokeStyle * > *gaya, NSArray< NSNumber * > *panjang, GMSLengthKind lengthKind)
 Menampilkan NSArray GMSStyleSpan yang dibuat oleh penerapan berulang informasi gaya dan panjang dari styles dan lengths sepanjang path.
NSArray&lt; GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *jalur, NSArray< GMSStrokeStyle * > *gaya, NSArray< NSNumber * > *panjang, GMSLengthKind lengthKind, double lengthOffset)
 Mirip dengan GMSStyleSpans(jalur, gaya, panjang, lengthKind) tetapi juga menggunakan offset panjang awal yang akan dilewati relatif terhadap array lengths.

Dokumentasi Typedef

typedef struct GMSMapPoint GMSMapPoint

Sebuah titik di peta.

Dapat mewakili koordinat yang diproyeksikan.

x dalam [-1, 1]. Arah sumbu normal: y tumbuh ke arah Utara, x tumbuh ke arah Timur. (0, 0) adalah pusat peta.

Lihat GMSProject() dan GMSUnproject().


Dokumentasi Fungsi

GMSMapPoint GMSProject ( CLLokasiKoordinasi2D koordinat)

Project coordinate ke peta.

coordinate harus valid.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint poin)

Membatalkan project point dari peta.

point.x harus berada dalam [-1, 1].

Menampilkan titik terinterpolasi secara linear pada segmen [a, b], pada pecahan t dari a.

t==0 sesuai dengan a, t==1 sesuai dengan b.

Jenis interpolasi terjadi di sepanjang jalur pendek di antara titik yang berpotensi melintasi garis tanggal. Mis. interpolasi dari San Francisco ke Tokyo akan melewati utara Hawaii dan melewati batas waktu.

Menampilkan panjang segmen [a, b] dalam ruang yang diproyeksikan.

Panjangnya dihitung sepanjang jalur pendek di antara titik-titik yang berpotensi melintasi garis tanggal. Mis. jarak antara titik-titik yang terkait dengan San Francisco dan Tokyo mengukur segmen yang melewati utara Hawaii yang melintasi garis tanggal.

BOOL GMSGeometryContainsLocation ( CLLokasiKoordinasi2D point,
GMSPath * path,
BOOL geodesi
)

Menampilkan apakah point terletak di dalam jalur.

Jalur ini selalu dianggap tertutup, terlepas dari apakah titik terakhir sama dengan titik pertama atau tidak.

Di dalam didefinisikan sebagai tidak memuat Kutub Selatan -- Kutub Selatan selalu berada di luar.

path mendeskripsikan segmen lingkaran besar jika geodesic adalah YA, dan segmen rhumb (loxodromic) jika bukan.

Jika point sama persis dengan salah satu verteks, hasilnya adalah YA. Titik yang tidak sama dengan titik sudut ada di satu sisi atau sisi yang lain dalam segmen jalur mana pun -- titik ini tidak pernah bisa "tepat di batas".

Lihat GMSGeometryIsLocationOnPath() untuk pengujian batas dengan toleransi.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLokasiKoordinasi2D point,
GMSPath * path,
BOOL geodesi,
CLLocationDistance toleransi
)

Menampilkan apakah point terletak di atau dekat path, dalam tolerance yang ditentukan dalam meter.

path terdiri dari segmen lingkaran besar jika geodesic adalah YA, dan dari segmen rhumb (loxodromic) jika geodesic adalah TIDAK.

Lihat juga GMSGeometryIsLocationOnPath(titik, jalur, geodesi).

Toleransi, dalam meter, relatif terhadap jari-jari bola Bumi. Jika Anda perlu bekerja pada bola dengan radius yang berbeda-beda, Anda dapat menghitung toleransi yang setara dari toleransi yang diinginkan pada bola dengan radius R: tolerance = toleranceR * (Radius Earth / R), dengan RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLokasiKoordinasi2D point,
GMSPath * path,
BOOL geodesi
)

Sama seperti GMSGeometryIsLocationOnPath(titik, jalur, geodesi, toleransi), dengan toleransi default 0,1 meter.

CLLocationDistance GMSGeometryDistance ( CLLokasiKoordinasi2D dari,
CLLokasiKoordinasi2D hingga
)

Menampilkan jarak lingkaran besar antara dua koordinat, dalam meter, di Bumi.

Ini adalah jarak terpendek antara kedua koordinat pada bola.

Kedua koordinat harus valid.

CLLocationDistance GMSGeometryLength ( GMSPath * path)

Menampilkan panjang lingkaran besar path, dalam meter, di Bumi.

Ini adalah jumlah GMSGeometryDistance() selama segmen jalur.

Semua koordinat jalur harus valid.

GMSGeometryArea dua kali ( GMSPath * path)

Menampilkan luas poligon geodesi yang ditentukan oleh path di Earth.

"Bagian dalam" dari poligon didefinisikan sebagai tidak mengandung kutub Selatan.

Jika path tidak ditutup, jalur tersebut secara implisit diperlakukan sebagai jalur tertutup dan hasilnya sama.

Semua koordinat jalur harus valid.

Poligon harus sederhana (tidak tumpang-tindih sendiri) dan boleh cekung.

Jika salah satu segmen dari jalur adalah sepasang titik antipodal, hasilnya tidak terdefinisi -- karena dua titik antipodal tidak membentuk segmen lingkaran besar yang unik pada bola tersebut.

GMSGeometrySignedArea ganda ( GMSPath * path)

Menampilkan area bertanda tangan dari poligon geodesi yang ditentukan oleh path di Earth.

Hasilnya memiliki nilai absolut yang sama dengan GMSGeometryArea(); positif jika titik-titik jalur dalam urutan berlawanan arah jarum jam, dan negatif jika sebaliknya.

Pembatasan yang sama seperti pada GMSGeometryArea() berlaku.

CLLocationDirection GMSGeometryHeading ( CLLokasiKoordinasi2D dari,
CLLokasiKoordinasi2D hingga
)

Menampilkan arah awal (derajat searah jarum jam dari Utara) di from jalur terpendek ke to.

Nilai yang ditampilkan berada dalam rentang [0, 360).

Menampilkan 0 jika kedua koordinat sama.

Kedua koordinat harus valid.

Untuk mendapatkan judul akhir di to, Anda dapat menggunakan (GMSGeometryHeading(to, from) + 180) modulo 360.

CLLocationCoordinate2D GMSGeometryOffset ( CLLokasiKoordinasi2D dari,
CLLocationDistance jarak,
CLLocationDirection heading
)

Menampilkan koordinat tujuan, saat dimulai dari from dengan heading awal, yang menempuh jarak distance meter sepanjang busur lingkaran besar, di Bumi.

Bujur yang dihasilkan berada dalam rentang [-180, 180).

Kedua koordinat harus valid.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLokasiKoordinasi2D dari,
CLLokasiKoordinasi2D kepada,
ganda fraksi
)

Menampilkan koordinat yang menunjukkan fraction yang diberikan pada jalan antara koordinat from dan to pada jalur terpendek di antara keduanya.

Bujur yang dihasilkan berada dalam rentang [-180, 180).

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

Menampilkan NSArray GMSStyleSpan yang dibuat oleh penerapan berulang informasi gaya dan panjang dari styles dan lengths sepanjang path.

path jalur yang digunakan untuk menghitung span output. styles NSArray dari GMSStrokeStyle. Dibungkus jika dikonsumsi. Wajib diisi. lengths NSArray dari NSNumber; setiap entri memberikan panjang gaya yang sesuai dari styles. Dibungkus jika dikonsumsi. Wajib diisi. lengthKind interpretasi nilai dari lengths (geodesi, rhumb, atau proyeksi).

Contoh: polyline dengan bentang hitam dan putih alternatif:

 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 * > * length,
GMSLengthKind lengthKind,
ganda lengthOffset
)

Mirip dengan GMSStyleSpans(jalur, gaya, panjang, lengthKind) tetapi juga menggunakan offset panjang awal yang akan dilewati relatif terhadap array lengths.

lengthOffset panjang (mis. dalam meter) yang awalnya harus dilewati dari lengths.