Google मानचित्र V3 में मार्करों के बीच की दूरी की गणना कैसे करें
मानचित्र पर दो बिंदुओं के बीच की दूरी की गणना करना एक सामान्य कार्य है, और Google मैप्स V3 ऐसा करने के लिए एक व्यापक एपीआई प्रदान करता है। सबसे सरल तरीकों में से एक हैवरसाइन फॉर्मूला का उपयोग करना है, जो पृथ्वी की वक्रता को ध्यान में रखते हुए दो भौगोलिक निर्देशांक के बीच की दूरी की गणना करता है।
हैवरसाइन फॉर्मूला
हैवरसाइन फॉर्मूला को जावास्क्रिप्ट में इस प्रकार लागू किया जा सकता है:
var rad = function(x) { return x * Math.PI / 180; }; var getDistance = function(p1, p2) { var R = 6378137; // Earth's mean radius in meter var dLat = rad(p2.lat() - p1.lat()); var dLong = rad(p2.lng() - p1.lng()); var a = Math.sin(dLat / 2) * Math.sin(dLat / 2) Math.cos(rad(p1.lat())) * Math.cos(rad(p2.lat())) * Math.sin(dLong / 2) * Math.sin(dLong / 2); var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); var d = R * c; return d; // returns the distance in meter };
उदाहरण उपयोग
Google मानचित्र पर दो मार्करों के बीच की दूरी की गणना करने के लिए उपरोक्त सूत्र का उपयोग करने के लिए, बस मार्करों के निर्देशांक को तर्क के रूप में पास करें गेटडिस्टेंस फ़ंक्शन। उदाहरण के लिए:
var marker1 = new google.maps.Marker({ position: new google.maps.LatLng(51.508742, -0.120850), map: map }); var marker2 = new google.maps.Marker({ position: new google.maps.LatLng(40.712784, -74.005941), map: map }); var distance = getDistance(marker1.getPosition(), marker2.getPosition());
दूरी चर में अब मीटर में दो मार्करों के बीच की दूरी शामिल होगी।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3