2010-04-29 7 views
5

मैंने केकेपीएचपी में एक एप्लीकेशन बनाया है जो व्यवसायों को सूचीबद्ध करता है। लगभग 2000 प्रविष्टियां हैं, और प्रत्येक व्यवसाय के लिए अक्षांश और देशांतर निर्देशांक डीबी में हैं।
अब मैं खोज फ़ंक्शन से निपटने का प्रयास कर रहा हूं।किसी दिए गए पते पर सबसे नज़दीकी स्थान खोजें

एक इनपुट बॉक्स होगा जहां उपयोगकर्ता सड़क का पता, शहर या ज़िप कोड डाल सकता है, और फिर मैं इसे डेटाबेस से मिले 11 निकटतम व्यवसायों को वापस करना चाहता हूं।

मैं यह करने के बारे में कैसे जाउंगा?

+1

* (संबंधित) * http://stackoverflow.com/questions/838344/algorithm-for-finding-nearby-points – Gordon

+0

(संबंधित) http://www.artfulsoftware.com/infotree/queries.php?&bw = 1680 # 109 –

उत्तर

2

मैं Yahoo Geo Planet API का उपयोग उपयोगकर्ता द्वारा दर्ज खोज शब्द से संबंधित स्थान की पहचान करने के लिए करता हूं। यह आम तौर पर कई स्थानों से मेल खाता है, इसलिए आपको उन्हें सही चुनने के लिए उन्हें उपयोगकर्ता को वापस पेश करना होगा। फिर, एक बार जब आप सही जगह को जानते हैं, और यह लम्बी लम्बाई है, जो याहू एपीआई प्रदान करता है, तो आप उपयोगकर्ताओं के स्थान के निकटतम व्यवसाय प्राप्त करने के लिए haversine formula का उपयोग कर सकते हैं। this question के उत्तर में एक अच्छा उदाहरण है।

+0

यह वास्तव में सहायक है और जो मैं ढूंढ रहा हूं उसके करीब है, धन्यवाद! – xtine

0

मैं बिंदु के चारों ओर एक वर्ग बनाकर इस दृष्टिकोण से संपर्क करूँगा, ताकि अंक खुद को एक पूरी चीज मिल सके, क्योंकि आपको एक पोस्टकोड डेटाबेस, या एपीआई की आवश्यकता होगी, जो कि पैसे खर्च करते हैं। या तो डेटाबेस या प्रति लुकअप खरीदने में।

इसे शहर या कम से कम ऐसा करके, आप शायद यह सुनिश्चित नहीं कर सकते कि उस शहर के लिए जीमैप्स से लंबे समय तक लेटें।

तब मैं कोशिश करता हूं और उस बिंदु के चारों ओर 4 कोने लांगलाट कॉर्ड प्राप्त करता हूं। फिर मैं उन मानों के लिए डेटाबेस खोज सकता हूं जो उनके बीच हैं।

किसी भी तरह से यह एक मुश्किल बात है जो मैं कहूंगा, हालांकि फैब सवाल! लोगों के सुझाव देखने में रुचि रखते हैं।

+0

हमें जनगणना डेटा का उपयोग जनसंख्या भारित लंबे-लैट बनाम ज़िप कोड डेटाबेस उत्पन्न करने के लिए किया जा सकता है। मैंने अतीत में उस डेटा का उपयोग किया है। यदि आप चारों ओर Google करते हैं, तो आपको मुफ्त में एक लम्बी-लेट बनाम ज़िप कोड डेटाबेस मिलेगा। और फिर प्रश्न के एक वर्ग के भीतर एक वर्ग के भीतर सभी ज़िप कोड ढूंढना वास्तव में एक अच्छा निकटता देखने के लिए एक बहुत तेज़ और आसान है। –