Geometry Library

การเข้ารหัส class

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 เป็นสตริงเส้นทางที่เข้ารหัส

ทรงกลม class

google.maps.geometry.spherical ชั้นเรียน

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

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

computeArea
computeArea(path[, radiusOfSphere])
พารามิเตอร์: 
ค่าที่ส่งคืน:  number
แสดงพื้นที่ที่ไม่ได้ลงนามของเส้นทางปิดในช่วง [0, 2×pi×radius²] พื้นที่ที่คำนวณใช้หน่วยเดียวกับรัศมี radiusOfSphere จะมีค่าเริ่มต้นเป็นรัศมีของโลกในหน่วยเมตร ในกรณีนี้ พื้นที่จะอยู่ในหน่วยตารางเมตร การส่ง Circle ต้องตั้งค่า radius เป็นค่าที่ไม่ใช่ค่าลบ นอกจากนี้ วงกลมต้องไม่ครอบคลุมทรงกลมเกิน 100% และเมื่อส่ง LatLngBounds ละติจูดใต้ต้องอยู่ทางเหนือมากกว่าละติจูดเหนือไม่ได้
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×radius², 2×pi×radius²] พื้นที่ที่คำนวณใช้หน่วยเดียวกับรัศมี รัศมีจะตั้งค่าเริ่มต้นเป็นรัศมีของโลกในหน่วยเมตร ในกรณีนี้ พื้นที่จะเป็นหน่วยตารางเมตร

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

poly class

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 องศา