"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Google मानचित्र V3 में दो मार्करों के बीच की दूरी की गणना कैसे करें?

Google मानचित्र V3 में दो मार्करों के बीच की दूरी की गणना कैसे करें?

2024-12-22 को प्रकाशित
ब्राउज़ करें:986

How to Calculate the Distance Between Two Markers in Google Maps V3?

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