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

ชั้นเรียน

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

ประเภทการพิมพ์

โครงสร้าง typedef GMSMapPointGMSMapPoint
 จุดบนแผนที่

ฟังก์ชัน

GMSMapPointGMSProject (พิกัด CLLocationCoordidicate2D)
 ฉาย coordinate ไปยังแผนที่
CLLocationCoordiate2DGMSUnproject (จุด GMSMapPoint)
 ยกเลิกการฉาย point จากแผนที่
GMSMapPointGMSMapPointInterpolate (GMSMapPoint A, GMSMapPoint b และ t คู่)
 แสดงผลจุดที่ซ้อนกันแบบเชิงเส้นในกลุ่ม [a, b] ที่เศษส่วน t จาก a
คู่GMSMAPPointระยะทาง (GMSMapPoint a, GMSMapPoint ข)
 แสดงผลความยาวของกลุ่ม [a, b] ในพื้นที่ที่คาดการณ์
บูลีนGMSGeometricContainsLocation (จุด CLLocationCoordiate2D, GMSPath *เส้นทาง, BOOL Geodesic)
 ระบุว่า point อยู่ภายในเส้นทางหรือไม่
บูลีนGMSGeometryIsLocationOnPathTolerance (จุด CLLocationCoordidicate2D, GMSPath *path, BOOL Geodesic, CLLocationระยะทาง
 แสดงผลว่า point อยู่บนหรือใกล้กับ path ภายใน tolerance ที่ระบุเป็นเมตร
บูลีนGMSGeometryIsLocationOnPath (CLLocationCoordiate2D Point, GMSPath *path, BOOL Geodesic)
 ซึ่งเหมือนกับ GMSGeometryIsLocationOnPath(point, path, Geodesic, Tolerance) โดยทนต่อค่าเริ่มต้น 0.1 เมตร
CLLocationระยะทางGMSGeometryระยะทาง (CLLocationCoordidicate2D จาก, CLLocationCoordidicate2D ถึง)
 แสดงผลระยะทางเป็นวงกลมใหญ่ระหว่าง 2 พิกัดในหน่วยเมตรบนโลก
CLLocationระยะทางGMSGeometryLength (เส้นทาง GMSPath *เส้นทาง)
 แสดงผลวงกลมยาว path ใน Earth ในหน่วยเมตร
คู่GMSGeometryArea (เส้นทาง GMSPath *เส้นทาง)
 แสดงพื้นที่ของรูปหลายเหลี่ยมแบบเรขาคณิตซึ่งกําหนดโดย path ใน Earth
คู่GMSGeometrySignedArea (เส้นทาง GMSPath *เส้นทาง)
 แสดงผลพื้นที่ที่ลงนามของรูปหลายเหลี่ยมแบบเรขาคณิตซึ่งกําหนดโดย path ใน Earth
CLLocationDirectionGMSGeometryHeading (CLLocationCoordiate2D จาก, CLLocationCoordiate2D ถึง)
 แสดงหัวเรื่องเริ่มต้น (องศาตามเข็มนาฬิกาเหนือ) ที่ from ของเส้นทางที่สั้นที่สุดไปยัง to
CLLocationCoordiate2DGMSGeometryOFFset (CLLocationCoordiate2D จาก, CLLocationระยะทางระยะทาง หัวข้อของ CLLocationDirection)
 แสดงพิกัดปลายทาง เมื่อเริ่มต้น from ด้วย heading เริ่มต้น การเดินทาง distance เมตรตามแนวเส้นโค้งรูปวงกลมบนโลก
CLLocationCoordiate2DGMSGeometryInterpolate (CLLocationCoordiate2D จาก CLLocationCoordiate2D เป็น 2 ส่วน)
 แสดงผลพิกัดที่อยู่ fraction ของเส้นทางระหว่างพิกัด from ถึง to บนเส้นทางที่สั้นที่สุดระหว่างเส้นทางทั้งสอง
NSArray< GMSStyleSpan * > *GMSStyleSpans (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKindlengthKind
 แสดง NSArray ของ GMSStyleSpan ที่สร้างจากข้อมูลรูปแบบและความยาวซ้ําจาก styles และ lengths ตลอด path
NSArray< GMSStyleSpan * > *GMSStyleSpansOFFset (GMSPath *path, NSArray< GMSStrokeStyle * > *styles, NSArray< NSNumber * > *lengths, GMSLengthKindlengthKindlengthKind คู่ความยาวคู่)
 คล้ายกับ GMSStyleSpans(path, style, length, lengthKind) แต่ยังใช้ออฟเซ็ตความยาวเริ่มต้นที่จะข้ามเมื่อเทียบกับอาร์เรย์ lengths

เอกสารประกอบของ Typedef

โครงสร้าง typedef GMSMapPoint GMSMapPoint

จุดบนแผนที่

อาจแสดงถึงพิกัดที่คาดการณ์ไว้

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

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


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

GMSMapPoint GMSProject ( CLLocationCoordiate2D พิกัด)

ฉาย coordinate ไปยังแผนที่

coordinate ต้องใช้ได้

CLLocationCoordidicate2D GMSUnproject ( GMSMapPoint จุด)

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

Point.x ต้องอยู่ใน [-1, 1]

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

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

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

เพิ่ม GMSMapPointระยะทาง เป็น 2 เท่า ( GMSMapPoint a
GMSMapPoint
)

แสดงผลความยาวของกลุ่ม [a, b] ในพื้นที่ที่คาดการณ์

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

บูลีน GMSGeometryContainsLocation ( CLLocationCoordiate2D point
GMSPath * เส้นทาง
บูลีน ภูมิศาสตร์
)

ระบุว่า point อยู่ภายในเส้นทางหรือไม่

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

ภายในหมายถึงขั้วโลกใต้ โดยขั้วโลกใต้จะอยู่นอกอาคารเสมอ

path อธิบายกลุ่มเป้าหมายวงกลมวงเวียนหาก geodesic เป็น "ใช่" และสุ่มกลุ่ม (นอนเร็ว)

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

ดู GMSGeometryIsLocationOnPath() สําหรับการทดสอบเส้นขอบที่มีการยอมรับความอดทน

บูลีน GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordiate2D point
GMSPath เส้นทาง
บูลีน ภูมิศาสตร์
CLLocationระยะทาง ความอดทน
)

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

path จะประกอบไปด้วยกลุ่มวงกลมชั้นเยี่ยมหาก geodesic คือ "ใช่" และในกรณีที่มีกลุ่มเสียงสั่น (Rommdromic) หาก geodesic ไม่

นอกจากนี้ โปรดดู GMSGeometryIsLocationOnPath(point, path, Geodesic) ด้วย

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

บูลีน GMSGeometryIsLocationOnPath ( CLLocationCoordiate2D point
GMSPath * เส้นทาง
บูลีน ภูมิศาสตร์
)

ซึ่งเหมือนกับ GMSGeometryIsLocationOnPath(point, path, Geodesic, Tolerance) โดยทนต่อค่าเริ่มต้น 0.1 เมตร

CLLocationระยะทาง GMSGeometryระยะทาง ( CLLocationCoordiate2D จาก
CLLocationCoordiate2D ไปยัง
)

แสดงผลระยะทางเป็นวงกลมใหญ่ระหว่าง 2 พิกัดในหน่วยเมตรบนโลก

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

พิกัดทั้งสองต้องถูกต้อง

CLLocationระยะทาง GMSGeometryLength ( GMSPath เส้นทาง)

แสดงผลวงกลมยาว path ใน Earth ในหน่วยเมตร

เป็นผลรวมของ GMSGeometryDISTANCE() เหนือกลุ่มเส้นทาง

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

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

แสดงพื้นที่ของรูปหลายเหลี่ยมแบบเรขาคณิตซึ่งกําหนดโดย path ใน Earth

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

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

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

รูปหลายเหลี่ยมต้องเรียบง่าย (ไม่ซ้อนทับกัน) และอาจปกปิดได้

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

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

แสดงผลพื้นที่ที่ลงนามของรูปหลายเหลี่ยมแบบเรขาคณิตซึ่งกําหนดโดย path ใน Earth

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

มีข้อจํากัดเหมือนกับ GMSGeometryArea()

CLLocationDirection GMSGeometryHeading ( CLLocationCoordiate2D จาก
CLLocationCoordiate2D ไปยัง
)

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

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

แสดงผล 0 หากพิกัด 2 จุดเหมือนกัน

พิกัดทั้งสองต้องถูกต้อง

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

CLLocationCoordiate2D GMSGeometry Offset ( CLLocationCoordiate2D จาก
CLLocationระยะทาง ระยะทาง
CLLocationDirection ส่วนหัว
)

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

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

พิกัดทั้งสองต้องถูกต้อง

CLLocationCoordiate2D GMSGeometryInterpolate ( CLLocationCoordiate2D จาก
CLLocationCoordiate2D ไปยัง
คู่ เศษส่วน
)

แสดงผลพิกัดที่อยู่ fraction ของเส้นทางระหว่างพิกัด from ถึง to บนเส้นทางที่สั้นที่สุดระหว่างเส้นทางทั้งสอง

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

NSArray<GMSStyleSpan *>* GMSStyleSpans ( GMSPath เส้นทาง
NSArray< GMSStrokeStyle * > * รูปแบบ
NSArray< NSNumber * > * ความยาว
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 * > * รูปแบบ
NSArray< NSNumber * > * ความยาว
GMSLengthKind lengthKind
คู่ lengthOFFset
)

คล้ายกับ GMSStyleSpans(path, style, length, lengthKind) แต่ยังใช้ออฟเซ็ตความยาวเริ่มต้นที่จะข้ามเมื่อเทียบกับอาร์เรย์ lengths

lengthOffset ความยาว (เช่น เมตร) ที่ควรข้ามจาก lengths ในตอนแรก