2012-10-18 29 views
5

के माध्यम से मेरे वर्तमान स्थान के 10 किमी त्रिज्या के भीतर सभी स्थान का अक्षांश और देशांतर प्राप्त करें, मैं Google मानचित्र चीज़ों में नया हूं। मेरे पास एक सारणी है जिसमें उनके अक्षांश और देशांतर के साथ सभी स्थान (सुपर स्टोर्स का स्थान) की सूची है।Google मानचित्र (PHP का उपयोग करके)

अब मैं अपने वर्तमान स्थान के 10 किमी त्रिज्या के भीतर इन सुपर स्टोर्स के सभी संभावित स्थान (अक्षांश और रेखांश) हो सकता हूं।

मुझे नहीं पता कि मैं Google मानचित्र (PHP कोड में) का उपयोग करके यह कैसे कर सकता हूं। क्या Google मानचित्र API का उपयोग करना चाहिए? कोई भी सुझाव, परियोजना कोड, जानकारी मेरे लिए उपयोगी

धन्यवाद अग्रिम में होगा

+1

कुछ कोड नमूने के भीतर सभी दुकानों मिल लिए MySQL की क्वेरी के बाद का उपयोग करें कर सकते हैं? आपने क्या प्रयास किया है – transilvlad

+0

@tntu आपके उत्तर के लिए धन्यवाद .. वास्तव में मुझे नहीं पता कि कहां से शुरू करना है इसका मतलब है कि मुझे क्या उपयोग करना चाहिए। मैंने कुछ भी नहीं देखा है –

+0

कम से कम इस बारे में अधिक जानकारी प्रदान करें कि आपके सिस्टम को कैसे काम करने की आवश्यकता है। PHP cau में नक्शे api के साथ बातचीत नहीं कर सकता है जब तक कि आप PHP को डेटा पास करने के लिए कुछ जावास्क्रिप्ट कोड का उपयोग न करें। – transilvlad

उत्तर

6

https://developers.google.com/maps/articles/phpsqlsearch_v3 ऊपर पर एक नज़र डालें। आपको एक अच्छा विचार देना चाहिए।

अपने मार्कर तालिका के स्थान कि किसी दिए गए अक्षांश/देशांतर की एक निश्चित त्रिज्या दूरी के भीतर हैं खोजने के लिए, आप एक का चयन करें बयान Haversine सूत्र के आधार पर उपयोग कर सकते हैं। हावर्सिन फॉर्मूला आमतौर पर गोलाकारों के समन्वय के दो जोड़े के बीच महान-सर्कल दूरी की गणना के लिए उपयोग किया जाता है। एक गहराई से गणितीय स्पष्टीकरण विकिपीडिया द्वारा दिया गया है और सूत्र की अच्छी चर्चा है क्योंकि यह प्रोग्रामिंग के लिए चलने योग्य प्रकार की साइट पर है।

यहां SQL कथन है जो निकटतम 20 स्थानों को मिलेगा जो 25 मील की त्रिज्या के भीतर 37, -122 समन्वय के भीतर हैं। यह उस पंक्ति और लक्ष्य अक्षांश/देशांतर के अक्षांश/देशांतर के आधार पर दूरी की गणना करता है, और फिर केवल पंक्तियों के लिए पूछता है जहां दूरी मान 25 से कम है, दूरी से पूरी क्वेरी का आदेश देता है, और इसे सीमित करता है 20 परिणाम किलोमीटर के बजाय मील की द्वारा खोजने के लिए, 6371.

+0

वह एसक्यूएल कथन कहां है? – Faizan

+0

"MySQL के साथ ढूँढना स्थान" विषय के अंतर्गत जांचें – xelber

6

आपके द्वारा निर्दिष्ट मील

select * from stores where lat!='' and lng!='' and (3959 * acos(cos(radians(" . $centerpoints['lat'] . ")) * cos(radians(lat)) * cos(radians(lng) - radians(" . $centerpoints['lng'] . ")) + sin(radians(" . $centerpoints['lat'] . ")) * sin(radians(lat)))) < " . $distanceInMile 
+0

आप $ centerpoints ['lng'] और $ centerpoints ['lat'] की गणना कैसे करते हैं? – AlanP

+0

वास्तव में पूछताछ में 3 9 5 9 क्या है? –

संबंधित मुद्दे