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

คลาส

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

Typedef

โครงสร้าง typedef GMSMapPointGMSMapPoint
 ตำแหน่งบนแผนที่

ฟังก์ชัน

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

เอกสาร Typedef

typedef struct GMSMapPoint GMSMapPoint

ตำแหน่งบนแผนที่

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

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

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


เอกสารประกอบเกี่ยวกับฟังก์ชัน

GMSMapPoint GMSProject ( CLLocationCoordinate2D พิกัด)

แสดงโครงการ coordinate ในแผนที่

coordinate ต้องเป็นอีเมลที่ถูกต้อง

GMSUnproject ของ CLLocationCoordinate2D ( GMSMapPoint คะแนน)

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

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

GMSMapPoint GMSMapPointInterpolate ( GMSMapPoint a,
GMSMapPoint
เส้นคู่
)

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

t==0 ตรงกับ a, t==1 ตรงกับ b

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

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

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

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

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

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

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

path จะอธิบายกลุ่มวงกลมที่มีประสิทธิภาพหาก geodesic เป็น "ใช่" และไม่ใช้คำคล้องจอง (loxodromic) หากไม่เป็นเช่นนั้น

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

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

BOOL GMSGeometryIsLocationOnPathTolerance ( CLLocationCoordinate2D point
GMSPath * เส้นทาง
บูลีน ภูมิศาสตร์
CLLocationDistance ความอดกลั้น
)

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

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

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

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

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

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

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

แสดงระยะห่างของวงกลมที่ยอดเยี่ยมระหว่างพิกัดสองพิกัด หน่วยเป็นเมตรบนพื้นโลก

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

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

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

แสดงความยาววงกลมที่ดีของ path ในหน่วยเมตรบนพื้นโลก

นี่คือผลรวมของ GMSGeometryDistance() บนส่วนต่างๆ ของเส้นทาง

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

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

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

"ภายใน" ของรูปหลายเหลี่ยมแสดงว่าไม่มีขั้วโลกใต้

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

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

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

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

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

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

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

เป็นไปตามข้อจำกัดเดียวกันกับ GMSGeometryArea()

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

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

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

แสดงผล 0 หากพิกัดทั้งสองเหมือนกัน

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

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

GMSGeometryOffset ของ CLLocationCoordinate2D ( CLLocationCoordinate2D จาก
CLLocationDistance ระยะทาง
CLLocationDirection ส่วนหัว
)

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

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

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

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

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

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

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

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

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

ตัวอย่าง: เส้นประกอบที่มีช่วงสีขาวดำสลับกัน

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

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

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