आप Haversine फ़ॉर्मूला नाम का उपयोग कर सकते हैं ।
$sql = "SELECT *, ( 3959 * acos( cos( radians(" . $lat . ") ) * cos( radians( lat ) ) * cos( radians( lng ) - radians(" . $lng . ") ) + sin( radians(" . $lat . ") ) * sin( radians( lat ) ) ) ) AS distance FROM your_table HAVING distance < 5";
जहां $lat
और $lng
आपके बिंदु के निर्देशांक हैं, और lat/lng आपके टेबल कॉलम हैं। उपरोक्त स्थानों को 5 एनएम रेंज के भीतर सूचीबद्ध करेगा। बदलें 3959
द्वारा 6371
किलोमीटर में बदलने के लिए।
यह लिंक उपयोगी हो सकता है:https://developers.google.com/maps/articles/phpsqlsearch_v3
संपादित करें:मैंने नहीं देखा कि आपने जावा का उल्लेख किया है। यह उदाहरण PHP में है लेकिन क्वेरी अभी भी वही है जो आपको चाहिए।