รูปทรงเรขาคณิตของ GMS

ชั้นเรียน

โครงสร้างGMSMapPoint
 จุดบนแผนที่ เพิ่มเติม...

Typedefs

typedef struct GMSMapPointGMSMapPoint
 จุดบนแผนที่

ฟังก์ชัน

GMSMapPointGMSProject (พิกัด CLLocationCoordinate2D)
 โครงการ coordinate กับแผนที่
CLLocationCoordinate2DGMSUnproject (จุด GMSMapPoint)
 ยกเลิกการฉายภาพ point จากแผนที่
GMSMapPointGMSMapPointInterpolate (GMSMapPoint a, GMSMapPoint b คู่ t)
 แสดงผลจุดแทรกเชิงเส้นบนเซกเมนต์ [a, b] ที่เศษส่วน t จาก a
คู่GMSMapPointDistance (GMSMapPoint a, GMSMapPoint ข)
 แสดงผลความยาวของเซกเมนต์ [a, b] ในช่องว่างที่ประมาณการ
บูลีนGMSGeometryContainsLocation (จุด CLLocationCoordinate2D, เส้นทาง GMSPath *เส้นทาง, ภูมิศาสตร์ของ BOOL)
 แสดงผลว่า point อยู่ภายในเส้นทางหรือไม่
บูลีนGMSGeometryIsLocationOnPathTolerance (จุด CLLocationCoordinate2D, GMSPath *เส้นทาง, ภูมิศาสตร์ BOOL, ความคลาดเคลื่อนของ CLLocationDistance)
 แสดงผลว่า point อยู่ในหรือใกล้กับ path ภายใน tolerance ที่ระบุเป็นเมตร
บูลีนGMSGeometryIsLocationOnPath (จุด CLLocationCoordinate2D, เส้นทาง GMSPath *เส้นทาง, ภูมิศาสตร์ BOOL)
 เหมือนกับ GMSGeometryIsLocationOnPath(จุด, เส้นทาง, เรขาคณิต, ความคลาดเคลื่อนยินยอม) โดยมีความคลาดเคลื่อนเริ่มต้นอยู่ที่ 0.1 เมตร
CLLocationDistanceGMSGeometryDistance (CLLocationCoordinate2D จาก, CLLocationCoordinate2D ถึง)
 แสดงระยะห่างของวงกลมใหญ่ระหว่างพิกัด 2 จุดในโลกในหน่วยเมตร
CLLocationDistanceGMSGeometryLength (GMSPath *path)
 แสดงความยาววงกลมใหญ่ของ path ในหน่วยเมตรบนโลก
คู่GMSGeometryArea (GMSPath *path)
 แสดงผลพื้นที่ของรูปหลายเหลี่ยมทางภูมิศาสตร์ที่กำหนดโดย path บนโลก
คู่GMSGeometrySignedArea (GMSPath *เส้นทาง)
 แสดงผลพื้นที่ที่ลงนามของรูปหลายเหลี่ยมทางภูมิศาสตร์ที่กำหนดโดย path ใน Earth
CLLocationDirectionGMSGeometryHeading (CLLocationCoordinate2D จาก CLLocationCoordinate2D ถึง)
 แสดงผลส่วนหัวเริ่มต้น (องศาตามเข็มนาฬิกาของทิศเหนือ) ที่ from ของเส้นทางที่สั้นที่สุดไปยัง to
CLLocationCoordinate2DGMSGeometryOffset (CLLocationCoordinate2D from, CLLocationDistance, CLLocationDirection heading)
 ส่งคืนพิกัดปลายทาง เมื่อเริ่มต้นที่ from ด้วย heading เริ่มต้น เคลื่อนที่ไป distance เมตรตามแนวโค้งของวงกลมขนาดใหญ่บนโลก
CLLocationCoordinate2DGMSGeometryInterpolate (CLLocationCoordinate2D จาก, CLLocationCoordinate2D ถึง, เศษส่วนทศนิยม)
 ส่งคืนพิกัดที่โกง fraction ที่กำหนดของเส้นทางระหว่างพิกัด from ถึง to บนเส้นทางที่สั้นที่สุดระหว่างพิกัดทั้งสอง
NSArray< GMSStyleSpan * > * GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind ความยาวKind)
 แสดงผล NSArray ของ GMSStyleSpan ซึ่งสร้างขึ้นจากการใช้ข้อมูลรูปแบบและความยาวซ้ำๆ จาก styles และ lengths ตาม path
NSArray< GMSStyleSpan * > * GMSStyleSpansOffset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKind lengthKind, double lengthOffset)
 คล้ายกับ GMSStyleSpans(เส้นทาง, รูปแบบ, ความยาว, ความยาวKind) แต่จะใช้ออฟเซ็ตความยาวเริ่มต้นซึ่งจะถูกข้ามไปซึ่งสัมพันธ์กับอาร์เรย์ lengths

เอกสาร Typedef

typedef struct GMSMapPoint GMSMapPoint

จุดบนแผนที่

อาจเป็นพิกัดที่คาดการณ์ไว้

x อยู่ใน [-1, 1] ทิศทางแกนเป็นปกติคือ y ขยายไปทางทิศเหนือ ส่วน x ขยายไปทางทิศตะวันออก (0, 0) คือศูนย์กลางของแผนที่

โปรดดู GMSProject() และ GMSUnproject()


เอกสารประกอบของฟังก์ชัน

GMSProject GMSMapPoint ( CLLocationCoordinate2D พิกัด)

โครงการ coordinate กับแผนที่

coordinate ต้องเป็นค่าที่ถูกต้อง

GMSUnproject จาก CLLocationCoordinate2D ( GMSMapPoint จุด)

ยกเลิกการฉายภาพ point จากแผนที่

Point.x ต้องเป็น [-1, 1]

แสดงผลจุดแทรกเชิงเส้นบนเซกเมนต์ [a, b] ที่เศษส่วน t จาก a

t==0 สอดคล้องกับ a, t==1 สอดคล้องกับ b

การประมาณค่าจะเกิดขึ้นตามเส้นทางสั้นๆ ระหว่างจุดที่อาจข้ามเส้นวันที่ เช่น การประมาณจากซานฟรานซิสโกไปยังโตเกียวจะผ่านตอนเหนือของฮาวายและข้ามเส้นวันที่

แสดงผลความยาวของเซกเมนต์ [a, b] ในช่องว่างที่ประมาณการ

ความยาวจะคำนวณตามเส้นทางสั้นๆ ระหว่างจุดที่อาจข้ามเส้นวันที่ เช่น ระยะทางระหว่างจุดที่เกี่ยวข้องกับซานฟรานซิสโกและโตเกียววัดส่วนของส่วนที่ผ่านทางเหนือของฮาวายข้ามเส้นวันที่

BOOL GMSGeometryContainsLocation ( CLLocationCoordinate2D จุด
GMSPath เส้นทาง
บูลีน ภูมิศาสตร์
)

แสดงผลว่า point อยู่ภายในเส้นทางหรือไม่

ระบบจะถือว่าเส้นทางเป็นเส้นทางปิดเสมอ ไม่ว่าจุดสุดท้ายจะเป็นจุดแรกหรือไม่ก็ตาม

ด้านในหมายถึงไม่มีขั้วโลกใต้ ขั้วโลกใต้อยู่ด้านนอกเสมอ

path อธิบายส่วนต่างๆ ของแวดวงที่ยอดเยี่ยมหาก geodesic คือ "ใช่" หากไม่เป็นเช่นนั้น

หาก point เท่ากับจุดยอดมุมใดจุดหนึ่ง ผลลัพธ์จะเป็น "ใช่" จุดที่ไม่เท่ากับจุดยอดมุมอยู่ที่ด้านหนึ่งหรืออีกด้านหนึ่งของส่วนเส้นทางใดก็ตาม และจะไม่สามารถ "ตรงเส้นขอบ" ได้

ดู GMSGeometryIsLocationOnPath() เกี่ยวกับการทดสอบขอบเขตที่มีการยอมรับความแตกต่าง

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D จุด
GMSPath เส้นทาง
บูลีน ภูมิศาสตร์
CLLocationDistance การยอมรับความคิดเห็นของผู้อื่น
)

แสดงผลว่า point อยู่ในหรือใกล้กับ path ภายใน tolerance ที่ระบุเป็นเมตร

path ประกอบด้วยส่วนต่างๆ ของวงกลมที่ยอดเยี่ยมหาก geodesic คือ "ใช่" และของกลุ่มตัวอย่าง (loxodromic) หาก geodesic คือ NO

โปรดดู GMSGeometryIsLocationOnPath(จุด, เส้นทาง, เรขาคณิต)

ความคลาดเคลื่อนที่ยอมรับได้ หน่วยเป็นเมตรจะสัมพันธ์กับรัศมีทรงกลมของโลก หากจำเป็นต้องทำงานบนทรงกลมที่มีรัศมีแตกต่างกัน คุณอาจคำนวณค่าความคลาดเคลื่อนเทียบเท่าจากความคลาดเคลื่อนที่ต้องการบนทรงกลมรัศมี R: ความคลาดเคลื่อนยินยอม = ค่าความคลาดเคลื่อน R * (RadiusEarth / R) ด้วย RadiusEarth==6371009

BOOL GMSGeometryIsLocationOnPath ( CLLocationCoordinate2D จุด
GMSPath เส้นทาง
บูลีน ภูมิศาสตร์
)

เหมือนกับ GMSGeometryIsLocationOnPath(จุด, เส้นทาง, เรขาคณิต, ความคลาดเคลื่อนยินยอม) โดยมีความคลาดเคลื่อนเริ่มต้นอยู่ที่ 0.1 เมตร

CLLocationDistance GMSGeometryDistance ( CLLocationCoordinate2D จาก
CLLocationCoordinate2D ถึง
)

แสดงระยะห่างของวงกลมใหญ่ระหว่างพิกัด 2 จุดในโลกในหน่วยเมตร

นี่คือระยะทางที่สั้นที่สุดระหว่างพิกัดทั้งสองบนทรงกลม

พิกัดทั้งสองต้องเป็นพิกัดที่ถูกต้อง

CLLocationLocation GMSGeometryLength ( GMSPath เส้นทาง)

แสดงความยาววงกลมใหญ่ของ path ในหน่วยเมตรบนโลก

นี่คือผลรวมของ GMSGeometryDistance() เหนือกลุ่มเส้นทาง

โดยพิกัดทั้งหมดของเส้นทางต้องเป็นพิกัดที่ถูกต้อง

GMSGeometryArea คู่ ( GMSPath เส้นทาง)

แสดงผลพื้นที่ของรูปหลายเหลี่ยมทางภูมิศาสตร์ที่กำหนดโดย path บนโลก

"ด้านใน" ของรูปเหลี่ยมหมายถึงไม่มีขั้วใต้อยู่

หากไม่ปิด path ระบบจะถือว่าเป็นเส้นทางปิดโดยนัยและผลลัพธ์จะเหมือนกัน

พิกัดทั้งหมดของเส้นทางต้องเป็นพิกัดที่ถูกต้อง

รูปหลายเหลี่ยมจะต้องเป็นรูปธรรมดา (ไม่เหลื่อมซ้อนกัน) และอาจเว้าลงไปได้

หากส่วนใดของเส้นทางเป็นจุดคู่หนึ่งของจุดตัด ผลลัพธ์ที่ได้จะไม่มีการกำหนด เนื่องจากจุดตรงข้ามสองจุดไม่ได้ก่อให้เกิดส่วนของวงกลมใหญ่ๆ ที่ไม่ซ้ำกันบนทรงกลม

GMSGeometrySignedArea คู่ ( GMSPath เส้นทาง)

แสดงผลพื้นที่ที่ลงนามของรูปหลายเหลี่ยมทางภูมิศาสตร์ที่กำหนดโดย path ใน Earth

ผลลัพธ์จะมีค่าสัมบูรณ์เดียวกับ GMSGeometryArea() แต่จะมีค่าเป็นบวกหากจุดของเส้นทางอยู่ในลำดับทวนเข็มนาฬิกา และเป็นลบในกรณีอื่นๆ

โดยจะมีการใช้ข้อจำกัดเดียวกันกับใน GMSGeometryArea()

CLLocationDirection GMSGeometryHeading ( CLLocationCoordinate2D จาก
CLLocationCoordinate2D ถึง
)

แสดงผลส่วนหัวเริ่มต้น (องศาตามเข็มนาฬิกาของทิศเหนือ) ที่ from ของเส้นทางที่สั้นที่สุดไปยัง to

ค่าที่แสดงผลอยู่ในช่วง [0, 360)

แสดง 0 ถ้าพิกัดสองค่าเหมือนกัน

พิกัดทั้งสองต้องเป็นพิกัดที่ถูกต้อง

หากต้องการใช้ส่วนหัวสุดท้ายที่ to ให้ใช้ (GMSGeometryHeading(to, from) + 180) modulo 360

CLLocationCoordinate2D GMSGeometryOffset ( CLLocationCoordinate2D จาก
CLLocationDistance ระยะทาง
CLLocationDirection heading
)

ส่งคืนพิกัดปลายทาง เมื่อเริ่มต้นที่ from ด้วย heading เริ่มต้น เคลื่อนที่ไป distance เมตรตามแนวโค้งของวงกลมขนาดใหญ่บนโลก

ลองจิจูดที่ได้จะอยู่ในช่วง [-180, 180)

พิกัดทั้งสองต้องเป็นพิกัดที่ถูกต้อง

CLLocationCoordinate2D GMSGeometryInterpolate ( CLLocationCoordinate2D จาก
CLLocationCoordinate2D ถึง
คู่ เศษส่วน
)

ส่งคืนพิกัดที่โกง fraction ที่กำหนดของเส้นทางระหว่างพิกัด from ถึง to บนเส้นทางที่สั้นที่สุดระหว่างพิกัดทั้งสอง

ลองจิจูดที่ได้จะอยู่ในช่วง [-180, 180)

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath เส้นทาง
NSArray< GMSStrokeStyle * > *  สไตล์ [styles]
NSArray< NSNumber * > *  lengths
GMSLengthKind lengthKind
)

แสดงผล NSArray ของ GMSStyleSpan ซึ่งสร้างขึ้นจากการใช้ข้อมูลรูปแบบและความยาวซ้ำๆ จาก styles และ lengths ตาม path

path เส้นทางที่มีการคำนวณระยะเวลาของเอาต์พุต styles NSArray ของ GMSStrokeStyle ห่อหากบริโภคแล้ว ต้องระบุ lengths เป็น NSArray ของ NSNumber แต่ละรายการจะระบุความยาวของรูปแบบที่สอดคล้องกันจาก styles ห่อหากบริโภคแล้ว ต้องระบุ lengthKind การตีความค่าจาก lengths (ภูมิศาสตร์ สูตร หรือการคาดคะเน)

ตัวอย่าง: โพลีไลน์ที่มีช่วงสีขาวและสีดำสลับกัน

 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 เส้นทาง
NSArray< GMSStrokeStyle * > *  สไตล์ [styles]
NSArray< NSNumber * > *  lengths
GMSLengthKind lengthKind
คู่ lengthOffset
)

คล้ายกับ GMSStyleSpans(เส้นทาง, รูปแบบ, ความยาว, ความยาวKind) แต่จะใช้ออฟเซ็ตความยาวเริ่มต้นซึ่งจะถูกข้ามไปซึ่งสัมพันธ์กับอาร์เรย์ lengths

lengthOffset ความยาว (เช่น หน่วยเป็นเมตร) ที่ควรข้ามตั้งแต่แรกจาก lengths