การเข้ารหัส เนมสเปซ
google.maps.geometry.encoding
เนมสเปซ
ยูทิลิตีสำหรับการเข้ารหัสและถอดรหัสโพลีไลน์
เข้าถึงโดยโทรไปที่ const {encoding} = await google.maps.importLibrary("geometry")
ดูไลบรารีใน Maps JavaScript API
วิธีการแบบคงที่ | |
---|---|
decodePath |
decodePath(encodedPath) พารามิเตอร์:
ถอดรหัสสตริงเส้นทางที่เข้ารหัสเป็นลำดับละติจูดและลองจิจูด |
encodePath |
encodePath(path) พารามิเตอร์:
ค่าที่ส่งคืน:
string เข้ารหัสลำดับ LatLngs เป็นสตริงเส้นทางที่เข้ารหัส |
เนมสเปซ เนมสเปซ
google.maps.geometry.spherical
เนมสเปซ
ฟังก์ชันยูทิลิตีสำหรับการคำนวณมุมทางภูมิศาสตร์ ระยะทาง และพื้นที่ รัศมีเริ่มต้นคือรัศมีของโลกที่ 6378137 เมตร
เข้าถึงโดยโทรไปที่ const {spherical} = await google.maps.importLibrary("geometry")
ดูไลบรารีใน Maps JavaScript API
วิธีการแบบคงที่ | |
---|---|
computeArea |
computeArea(path[, radiusOfSphere]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลพื้นที่ที่ไม่มีเครื่องหมายของเส้นทางปิด ในช่วง [0, 2×pi×ตามรัศมี2] พื้นที่ที่คำนวณใช้หน่วยเดียวกันกับรัศมี radiusOfSphere ค่าเริ่มต้นคือรัศมีของโลก หน่วยเป็นเมตร ซึ่งในกรณีนี้ พื้นที่จะมีหน่วยเป็นตารางเมตร การส่ง Circle กำหนดให้ต้องตั้งค่า radius เป็นค่าที่ไม่ติดลบ นอกจากนี้ วงกลมจะต้องไม่ครอบคลุมเกิน 100% ของทรงกลม และเมื่อผ่าน LatLngBounds ละติจูดและลองจิจูดทางตอนใต้จะต้องไม่ยาวเกินกว่า LatLng ทางตอนเหนือ |
computeDistanceBetween |
computeDistanceBetween(from, to[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลระยะทางเป็นเมตรระหว่างละติจูดและลองจิจูด 2 เส้น หรือคุณจะระบุรัศมีที่กำหนดเองก็ได้ รัศมีจะมีค่าเริ่มต้นเป็นรัศมีโลก |
computeHeading |
computeHeading(from, to) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงส่วนหัวจาก LatLng ไปยัง LatLng อีกเส้นหนึ่ง ส่วนหัวจะแสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือภายในช่วง [-180,180) |
computeLength |
computeLength(path[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลความยาวของเส้นทางที่ระบุ |
computeOffset |
computeOffset(from, distance, heading[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
LatLng แสดงผลละติจูดและลองจิจูดที่ได้จากการเคลื่อนที่จากต้นทางในส่วนหัวที่ระบุ (แสดงในหน่วยองศาตามเข็มนาฬิกาจากทิศเหนือ) |
computeOffsetOrigin |
computeOffsetOrigin(to, distance, heading[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
LatLng|null แสดงผลตำแหน่งของต้นทางเมื่อระบุปลายทาง LatLng, เมตรที่เดินทาง และส่วนหัวเดิม ส่วนหัวจะแสดงเป็นองศาตามเข็มนาฬิกาจากทิศเหนือ ฟังก์ชันนี้แสดงผล null เมื่อไม่มีโซลูชัน |
computeSignedArea |
computeSignedArea(loop[, radius]) พารามิเตอร์:
ค่าที่ส่งคืน:
number แสดงผลพื้นที่ที่ลงนามของเส้นทางปิด ซึ่งทวนเข็มนาฬิกาเป็นค่าบวกในช่วง [-2×pi×Radi2, 2×pi×Radi2] พื้นที่ที่คำนวณแล้วใช้หน่วยเดียวกับรัศมี ค่าเริ่มต้นของรัศมีจะเป็นรัศมีโลกในหน่วยเมตร ซึ่งในกรณีนี้พื้นที่จะมีหน่วยเป็นตารางเมตร พื้นที่ดังกล่าวจะคำนวณโดยใช้วิธีการคมนาคมแบบขนาน การคมนาคมแบบขนานรอบเส้นทางปิดบนหน่วยทรงกลมจะบิดเป็นมุมที่เท่ากับพื้นที่ซึ่งล้อมรอบด้วยเส้นทางนั้น วิธีนี้ง่าย แม่นยำ และมีประสิทธิภาพกว่าการใช้รูปสามเหลี่ยมโดยใช้ Girard, l'Huilier หรือ Eriksson กับรูปสามเหลี่ยมแต่ละรูป โดยเฉพาะอย่างยิ่ง เนื่องจากเส้นจะไม่บิดเบี้ยว จึงไม่มีความไม่เสถียร ยกเว้นในกรณีที่หลีกเลี่ยงไม่ได้เมื่อขอบ (ไม่ใช่แนวทแยงมุม) ของรูปหลายเหลี่ยมครอบคลุม 180 องศา |
interpolate |
interpolate(from, to, fraction) พารามิเตอร์:
ค่าที่ส่งคืน:
LatLng แสดงผล LatLng ซึ่งแสดงเศษส่วนที่ระบุระหว่าง LatLng ต้นทางและ LatLng ปลายทาง |
poly เนมสเปซ
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 องศา |