GMSGeometryUtils

GMSGeometryUtils

Kelas

structGMSMapPoint
 Titik di peta. Selengkapnya...

Typedef

typedef struct GMSMapPointGMSMapPoint
 Titik di peta.

Fungsi

GMSMapPointGMSProject (koordinat CLLocationCoordinate2D)
 Memproyeksikan coordinate ke peta.
CLLocationCoordinate2DGMSUnproject (poin GMSMapPoint)
 Batalkan proyek point dari peta.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, t ganda)
 Menampilkan titik interpolasi linier 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 *path, BOOL geodesi)
 Menampilkan apakah point berada di dalam jalur.
BOOLGMSGeometryIsLocationOnPathTolerance (titik CLLocationCoordinate2D, GMSPath *path, BOOL geodesi, toleransi CLLocationDistance)
 Menampilkan apakah point terletak di atau dekat path, dalam tolerance yang ditentukan dalam meter.
BOOLGMSGeometryIsLocationOnPath (titik CLLocationCoordinate2D, GMSPath *path, geodesi BOOL)
 Sama seperti GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance), dengan toleransi default 0,1 meter.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D dari, CLLocationCoordinate2D ke)
 Menampilkan jarak lingkaran yang besar antara dua koordinat, dalam meter, di Bumi.
CLLocationDistanceGMSGeometryLength (jalur GMSPath *)
 Menampilkan panjang lingkaran besar path, dalam meter, di Earth.
gandaGMSGeometryArea (jalur GMSPath *)
 Menampilkan luas poligon geodesi yang ditentukan oleh path di Earth.
gandaGMSGeometrySignedArea (jalur GMSPath *)
 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) pada from dari jalur terpendek ke to.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D dari, CLLocationDistanceDistance, arah CLLocationDirection)
 Menampilkan koordinat tujuan, saat mulai dari from dengan heading awal, dalam perjalanan distance meter sepanjang busur lingkaran besar, di Bumi.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D dari, CLLocationCoordinate2D ke, pecahan ganda)
 Menampilkan koordinat yang terletak fraction berupa jalan di antara koordinat from dan to pada jalur terpendek di antara keduanya.
NSArray< GMSStyleSpan * > *GMSStyleSpans (jalur GMSPath *, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind longKind)
 Menampilkan NSArray GMSStyleSpan yang dibuat oleh penerapan berulang informasi gaya dan panjang dari styles dan lengths di sepanjang path.
NSArray< GMSStyleSpan * > *GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind longKind, doublelengthOffset)
 Serupa dengan GMSStyleSpans(jalur, gaya, panjang, panjangJenis) tetapi juga menggunakan offset panjang awal yang akan dilewati relatif terhadap array lengths.

Dokumentasi Typedef

typedef struct GMSMapPoint GMSMapPoint

Titik di peta.

Dapat mewakili koordinat yang diproyeksikan.

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

Lihat GMSProject() dan GMSUnproject().


Dokumentasi Fungsi

GMSMapPoint GMSProject ( CLLocationCoordinate2D koordinat)

Memproyeksikan coordinate ke peta.

coordinate harus valid.

GMSUnproject CLLocationCoordinate2D ( GMSMapPoint poin)

Batalkan proyek point dari peta.

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

Menampilkan titik interpolasi linier pada segmen [a, b], pada pecahan t dari a.

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

Jenis interpolasi ini terjadi di sepanjang jalur pendek antara titik-titik yang mungkin melintasi garis tanggal. Mis., interpolasi dari San Francisco ke Tokyo akan melewati utara Hawaii dan melintasi garis tanggal.

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

Panjang dihitung sepanjang jalur pendek di antara titik-titik yang mungkin melintasi garis tanggal. Misalnya jarak antara titik-titik yang sesuai dengan San Francisco dan Tokyo mengukur segmen yang melewati utara Hawaii yang melintasi garis tanggal.

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D poin,
GMSPath jalur,
BOOL geodesi
)

Menampilkan apakah point berada di dalam jalur.

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

Di dalamnya didefinisikan sebagai tidak berisi Kutub Selatan -- Kutub Selatan selalu berada di luar.

path mendeskripsikan segmen lingkaran besar jika geodesic adalah YA, dan segmen rhumb (loxodromik) sebaliknya.

Jika point sama persis dengan salah satu verteks, hasilnya adalah YES. Titik yang tidak sama dengan verteks ada di satu sisi atau di sisi lainnya dari segmen jalur -- tidak pernah bisa "persis di batas".

Lihat GMSGeometryIsLocationOnPath() untuk pengujian batas dengan toleransi.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D poin,
GMSPath jalur,
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 (loxodromik) jika geodesic adalah NO.

Lihat juga GMSGeometryIsLocationOnPath(point, path, geodesic).

Toleransi, dalam meter, relatif terhadap radius sferikal Bumi. Jika perlu mengerjakan bola dunia dengan radius berbeda, Anda dapat menghitung toleransi yang setara dari toleransi yang diinginkan pada bola radius R: toleransi = toleranceR (RadiusEarth / R), dengan RadiusEarth==6371009.

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D poin,
GMSPath jalur,
BOOL geodesi
)

Sama seperti GMSGeometryIsLocationOnPath(point, path, geodesic, tolerance), dengan toleransi default 0,1 meter.

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D from,
CLLocationCoordinate2D hingga
)

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

Ini adalah jarak terpendek antara dua koordinat pada bola dunia.

Kedua koordinat harus valid.

GMSLocationDistance GMSGeometryLength ( GMSPath * jalur)

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

Ini adalah jumlah GMSGeometryDistance() pada segmen jalur.

Semua koordinat jalur harus valid.

double GMSGeometryArea ( GMSPath jalur)

Menampilkan luas poligon geodesi yang ditentukan oleh path di Earth.

"Di dalam" poligon didefinisikan sebagai tidak mengandung Kutub Selatan.

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

Semua koordinat jalur harus valid.

Poligon harus sederhana (tidak tumpang tindih) dan mungkin cekung.

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

double GMSGeometrySignedArea ( GMSPath * jalur)

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

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

Pembatasan yang sama seperti yang berlaku pada GMSGeometryArea() berlaku.

GMSLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D from,
CLLocationCoordinate2D hingga
)

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

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

Menampilkan 0 jika dua koordinat sama.

Kedua koordinat harus valid.

Untuk mendapatkan arah akhir pada to, seseorang dapat menggunakan (GMSGeometryHeading(to, from) + 180) modulo 360.

GMSGeometryOffset CLLocationCoordinate2D ( CLLocationCoordinate2D from,
CLLocationDistance jarak,
CLLocationDirection judul
)

Menampilkan koordinat tujuan, saat mulai dari from dengan heading awal, dalam perjalanan distance meter sepanjang busur lingkaran besar, di Bumi.

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

Kedua koordinat harus valid.

GMSGeometryInterpolate CLLocationCoordinate2D ( CLLocationCoordinate2D from,
CLLocationCoordinate2D hingga,
ganda fraksi
)

Menampilkan koordinat yang terletak fraction berupa jalan di antara koordinat from dan to pada jalur terpendek di antara keduanya.

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

NSArray<GMSStyleSpan *>* GMSStyleSpan ( GMSPath * jalur,
NSArray< GMSStrokeStyle * > * gaya,
NSArray< NSNumber * > * length,
GMSLengthKind lengthKind
)

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

path jalur yang dijalankan dengan span output. styles NSArray GMSStrokeStyle. Bungkus jika dikonsumsi. Tidak boleh kosong. lengths NSArray NSNumber; setiap entri memberikan panjang gaya yang sesuai dari styles. Bungkus jika dikonsumsi. Tidak boleh kosong. lengthKind interpretasi nilai dari lengths (geodesi, rhumb, atau proyeksi).

Contoh: polyline dengan span hitam dan putih yang bergantian:

 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 jalur,
NSArray< GMSStrokeStyle * > * gaya,
NSArray< NSNumber * > * length,
GMSLengthKind lengthKind yang diinginkan,
ganda lengthOffset
)

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

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