GMSGeometryUtils

GMSGeometryUtils

Kelas

structGMSMapPoint
 Titik di peta. Lainnya...

Typedef

typedef struct GMSMapPointGMSMapPoint
 Titik di peta.

Fungsi

GMSMapPointGMSProject (koordinat CLLocationCoordinate2D)
 Memproyeksikan coordinate ke peta.
CLLocationCoordinate2DGMSUnproject (poin GMSMapPoint)
 Batalkan project point dari peta.
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b, double t)
 Menampilkan titik interpolasi linear pada ruas [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 (CLLocationCoordinate2D titik, GMSPath *jalur, BOOL geodesi, CLLocationDistance toleransi)
 Menampilkan apakah point berada pada atau dekat path, dalam tolerance yang ditentukan dalam meter.
BOOLGMSGeometryIsLocationOnPath (CLLocationCoordinate2D, GMSPath *jalur, geodesi BOOL)
 Sama seperti GMSGeometryIsLocationOnPath(titik, jalur, geodesi, toleransi), dengan toleransi default 0,1 meter.
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D dari, CLLocationCoordinate2D ke)
 Menampilkan jarak lingkaran besar antara dua koordinat, dalam meter, di Bumi.
CLLocationDistanceGMSGeometryLength (*jalur GMSPath)
 Menampilkan panjang lingkaran besar path, dalam meter, di Bumi.
gandaGMSGeometryArea (GMSPath *jalur)
 Menampilkan luas poligon geodesi yang ditentukan oleh path di Bumi.
gandaGMSGeometrySignedArea (GMSPath *jalur)
 Menampilkan area bertanda tangan poligon geodesi yang ditentukan oleh path di Earth.
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D dari, CLLocationCoordinate2D ke)
 Menampilkan arah tujuan awal (derajat searah jarum jam dari Utara) di from dari jalur terpendek ke to.
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D dari, jarak CLLocationDistance, arah CLLocationDirection)
 Menampilkan koordinat tujuan, ketika dimulai dari from dengan heading awal, yang menempuh distance meter di sepanjang busur lingkaran besar, di Bumi.
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D dari, CLLocationCoordinate2D hingga, pecahan ganda)
 Menampilkan koordinat yang terletak fraction yang ditentukan dari jalan antara koordinat from dan to pada jalur terpendek di antara keduanya.
NSArray< 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 bersama path.
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *jalur, NSArray< GMSStrokeStyle * > *gaya, NSArray< NSNumber * > *panjang, GMSLengthKind lengthKind, double lengthOffset)
 Serupa dengan GMSStyleSpans(jalur, gaya, panjang, lengthKind), tetapi juga memerlukan 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 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 ( CLLocationCoordinate2D koordinat)

Memproyeksikan coordinate ke peta.

coordinate harus valid.

CLLocationCoordinate2D GMSUnproject ( GMSMapPoint poin)

Batalkan project point dari peta.

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

Menampilkan titik interpolasi linear pada ruas [a, b], pada pecahan t dari a.

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

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

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

Panjang dihitung di sepanjang jalur terpendek di antara titik yang berpotensi 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 path,
BOOL geodesi
)

Menampilkan apakah point terletak di dalam jalur.

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

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

path menjelaskan segmen lingkaran besar jika geodesic adalah YA, dan segmen rhumb (loksodromik) jika sebaliknya.

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

Lihat GMSGeometryIsLocationOnPath() untuk pengujian batas dengan toleransi.

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D poin,
GMSPath path,
BOOL geodesi,
CLLocationDistance toleransi
)

Menampilkan apakah point berada pada atau dekat path, dalam tolerance yang ditentukan dalam meter.

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

Lihat juga GMSGeometryIsLocationOnPath(titik, jalur, geodesi).

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

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

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

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D dari,
CLLocationCoordinate2D kepada
)

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

Ini adalah jarak terpendek antara dua koordinat pada bola dunia.

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 ganda ( GMSPath path)

Menampilkan luas poligon geodesi yang ditentukan oleh path di Bumi.

"Bagian dalam" poligon didefinisikan sebagai tidak berisi kutub Selatan.

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

Semua koordinat jalur harus valid.

Poligon harus sederhana (tidak tumpang tindih) dan boleh 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.

GMSGeometrySignedArea ganda ( GMSPath path)

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

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

Pembatasan yang sama seperti pada GMSGeometryArea() berlaku.

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D dari,
CLLocationCoordinate2D kepada
)

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

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

Mengembalikan 0 jika kedua koordinat sama.

Kedua koordinat harus valid.

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

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

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

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

Kedua koordinat harus valid.

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D dari,
CLLocationCoordinate2D to,
ganda fraksi
)

Menampilkan koordinat yang terletak fraction yang ditentukan dari 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< GMSStrokeStyle * > *  gaya,
NSArray< NSNumber * > *  lengths,
GMSLengthKind lengthKind
)

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

path jalur tempat span output dihitung. styles NSArray dari GMSStrokeStyle. Dibungkus jika dipakai. Tidak boleh kosong. lengths NSArray dari NSNumber; setiap entri memberikan panjang gaya yang sesuai dari styles. Dibungkus jika dipakai. Tidak boleh kosong. lengthKind interpretasi nilai dari lengths (geodesi, rhumb, atau diproyeksikan).

Contoh: polyline dengan rentang 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 path,
NSArray< GMSStrokeStyle * > *  gaya,
NSArray< NSNumber * > *  lengths,
GMSLengthKind lengthKind,
ganda lengthOffset
)

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

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