Geometry Library

encoding namespace

google.maps.geometry.encoding เนมสเปซ

ยูทิลิตีสําหรับการเข้ารหัสและการถอดรหัสรูปหลายเส้น

เข้าถึงโดยการโทรหา const {encoding} = await google.maps.importLibrary("geometry") โปรดดูไลบรารีใน Maps JavaScript API

decodePath
decodePath(encodedPath)
พารามิเตอร์: 
  • encodedPathstring
ผลลัพธ์:  Array<LatLng>
ถอดรหัสสตริงเส้นทางที่เข้ารหัสเป็นลําดับ LatLng
encodePath
encodePath(path)
พารามิเตอร์: 
ผลลัพธ์:  string
เข้ารหัสลําดับ LatLng เป็นสตริงเส้นทางที่เข้ารหัส

spherical เนมสเปซ

google.maps.geometry.spherical เนมสเปซ

ฟังก์ชันยูทิลิตีสําหรับคํานวณมุม ระยะทาง และพื้นที่ตามแนวเส้นบอกทาง รัศมีเริ่มต้นคือรัศมีของโลก 6378137 เมตร

เข้าถึงโดยการโทรหา const {spherical} = await google.maps.importLibrary("geometry") โปรดดูไลบรารีใน Maps JavaScript API

computeArea
computeArea(path[, radiusOfSphere])
พารามิเตอร์: 
ผลลัพธ์:  number
แสดงผลพื้นที่แบบไม่ลงนามของเส้นทางปิดในช่วง [0, 2×pi×รัศมี²] โดยพื้นที่ที่คำนวณจะใช้หน่วยเดียวกับรัศมี radiusOfSphere จะมีค่าเริ่มต้นเป็นรัศมีของโลกเป็นเมตร ซึ่งในกรณีนี้พื้นที่จะเป็นตารางเมตร การส่ง Circle กำหนดให้ต้องตั้งค่า radius เป็นค่าที่ไม่ใช่ค่าลบ นอกจากนี้ วงกลมต้องไม่ครอบคลุมพื้นผิวทรงกลมเกิน 100% และเมื่อส่ง LatLngBounds ทางทิศใต้ LatLng ต้องไม่อยู่ทางเหนือกว่า LatLng ทางเหนือ
computeDistanceBetween
computeDistanceBetween(from, to[, radius])
พารามิเตอร์: 
ผลลัพธ์:  number
แสดงผลระยะทางเป็นเมตรระหว่าง LatLng 2 รายการ คุณระบุรัศมีที่กำหนดเองได้ (ไม่บังคับ) รัศมีเริ่มต้นจะเป็นรัศมีของโลก
computeHeading
computeHeading(from, to)
พารามิเตอร์: 
ผลลัพธ์:  number
แสดงผลส่วนหัวจาก LatLng หนึ่งไปยัง LatLng อีกรายการ หัวเรื่องจะแสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือในช่วง [-180,180)
computeLength
computeLength(path[, radius])
พารามิเตอร์: 
ผลลัพธ์:  number
แสดงผลความยาวของเส้นทางที่ระบุ
computeOffset
computeOffset(from, distance, heading[, radius])
พารามิเตอร์: 
ผลลัพธ์:  LatLng
แสดงผล LatLng ที่เกิดจากการเคลื่อนที่เป็นระยะทางจากจุดเริ่มต้นในทิศทางที่ระบุ (แสดงเป็นองศาตามเข็มนาฬิกาจากเหนือ)
computeOffsetOrigin
computeOffsetOrigin(to, distance, heading[, radius])
พารามิเตอร์: 
ผลลัพธ์:  LatLng|null
แสดงผลตำแหน่งต้นทางเมื่อมีจุดหมาย LatLng, เมตรที่เดินทาง และทิศทางเดิม โดยทิศทางจะแสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ฟังก์ชันนี้จะแสดงผล null เมื่อไม่มีวิธีแก้ปัญหา
computeSignedArea
computeSignedArea(loop[, radius])
พารามิเตอร์: 
ผลลัพธ์:  number
แสดงผลพื้นที่ที่มีเครื่องหมายของเส้นทางปิด โดยที่ทวนเข็มนาฬิกาเป็นค่าบวกในช่วง [-2×pi×รัศมี², 2×pi×รัศมี²] พื้นที่ที่คำนวณได้จะใช้หน่วยเดียวกับรัศมี รัศมีเริ่มต้นคือรัศมีของโลกเป็นเมตร ซึ่งในกรณีนี้พื้นที่จะเป็นตารางเมตร

ระบบจะคำนวณพื้นที่โดยใช้วิธีการการขนส่งแบบขนาน ซึ่งการขนส่งแบบขนานรอบเส้นทางปิดบนทรงกลมหน่วยจะบิดด้วยมุมที่เท่ากับพื้นที่ที่เส้นทางล้อมรอบ วิธีนี้ง่ายกว่า แม่นยำกว่า และมีประสิทธิภาพมากกว่าการหาพิกัดโดยการหาสามเหลี่ยมโดยใช้ Girard, l'Huilier หรือ Eriksson ในสามเหลี่ยมแต่ละรูป โดยเฉพาะอย่างยิ่ง เนื่องจากไม่มีการแบ่งรูปหลายเหลี่ยมเป็นสามเหลี่ยม จึงไม่มีความไม่เสถียร ยกเว้นในกรณีที่หลีกเลี่ยงไม่ได้เมื่อขอบ (ไม่ใช่เส้นทแยงมุม) ของรูปหลายเหลี่ยมครอบคลุม 180 องศา
interpolate
interpolate(from, to, fraction)
พารามิเตอร์: 
ผลลัพธ์:  LatLng
แสดงผล LatLng ที่อยู่ตรงส่วนของเส้นทางระหว่าง LatLng ต้นทางกับ LatLng ปลายทางตามส่วนที่ระบุ

poly namespace

google.maps.geometry.poly เนมสเปซ

ฟังก์ชันยูทิลิตีสําหรับการคํานวณที่เกี่ยวข้องกับรูปหลายเหลี่ยมและรูปหลายเส้น

เข้าถึงโดยการโทรหา const {poly} = await google.maps.importLibrary("geometry") โปรดดูไลบรารีใน Maps JavaScript API

containsLocation
containsLocation(point, polygon)
พารามิเตอร์: 
ผลลัพธ์:  boolean
คำนวณว่าจุดที่ระบุอยู่ภายในรูปหลายเหลี่ยมที่ระบุหรือไม่
isLocationOnEdge
isLocationOnEdge(point, poly[, tolerance])
พารามิเตอร์: 
ผลลัพธ์:  boolean
คํานวณว่าจุดที่ระบุอยู่บนหรือใกล้กับเส้นประกอบ หรือขอบของรูปหลายเหลี่ยมภายในความคลาดเคลื่อนที่กำหนดหรือไม่ แสดงผล true เมื่อความแตกต่างระหว่างละติจูดและลองจิจูดของจุดที่ระบุและจุดที่ใกล้ที่สุดบนขอบน้อยกว่าค่าความคลาดเคลื่อน ค่าเริ่มต้นของความคลาดเคลื่อนคือ 10-9 องศา