2010-03-24 18 views
7

मुझे हमारी वेबसाइट पर "निकटतम स्थान ढूंढने" की आवश्यकता है।"निकटतम स्थान खोजें"?

जहां आगंतुक अपने ज़िप/पोस्टल कोड में प्रवेश करता है, तो उन्हें हमारे निकटतम स्थान के लिए विशिष्ट वेबपृष्ठ पर रीडायरेक्ट किया जाता है। हमारे पास चालीस यूएसए और कनाडा के स्थान हैं।

मैं इस तरह कुछ कैसे बना सकता हूं? क्या मैं इसे Google मानचित्र API के साथ कर सकता हूं? मेरे पास Google मानचित्र पर पहले से ही एक कस्टम मानचित्र है। यह हमारे स्थानों के साथ प्लॉट किया गया है। Google मानचित्र को यह कहने के लिए एक अच्छा आदेश होगा कि "________ ज़िप कोड पर हमारा निकटतम स्थान क्या है"।

कोई सुझाव?

उत्तर

7

चेक बाहर निकटता खोज यहाँ विशेष रुप से प्रदर्शित:

Using PHP/MySQL with Google Maps

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

+0

@Pekka Google मानचित्र API का उपयोग करना - क्या गणना करना, परिणाम प्राप्त करना, लेकिन मानचित्र प्रदर्शित नहीं करना संभव है? – codemonkey613

+0

@codemonkey हाँ यह है। आप एक मानचित्र पर प्रदर्शित किए बिना एपीआई को एक geocoding अनुरोध (10,000 प्रति दिन तक) बना सकते हैं, * लेकिन * मुझे लगता है कि उनकी सेवा की शर्तें geocoding परिणामों के किसी भी लंबे समय तक भंडारण मना कर देती हैं - वे चाहते हैं कि आप एक अनुरोध करें हर बार जब आपको डेटा चाहिए। –

+0

धन्यवाद। 10,000 हमारी जरूरतों के लिए पर्याप्त से अधिक होना चाहिए। और हाँ, हम परिणाम संग्रहित नहीं करेंगे। – codemonkey613

0

Google मानचित्र का उपयोग करने में प्रतिबंध व्यापार उद्देश्यों के लिए है, इसलिए आप उन (प्रतिबंध) को पहले से विचार करना चाहेंगे। मेरे पिछले अनुभव से मैं MapQuest API का सुझाव दूंगा। आप यहां विवरण प्राप्त कर सकते हैं: http://developer.mapquest.com/ और कुछ त्वरित प्रारंभ मार्गदर्शिका http://www.mapquest.com/features/developer_tools_oapi_quickstart

वाणिज्यिक सौदों की बात करते समय MapQuest seams बेहतर होने के लिए बेहतर है। वैसे भी, उत्पादन में इसे लागू करने से पहले अपने टी & सी जांचें।

उनके पास जावास्क्रिप्ट है जो मुझे भू-स्थान डिकोडिंग के लिए नियमित डब्ल्यूएस लगता है।

सादर कोनराड

+1

@ कोनराड मैं हमेशा Google मानचित्र के विकल्पों का सुझाव देने के लिए हूं लेकिन Google की सेवा की शर्तें वाणिज्यिक साइटों में उपयोग की दिशा में बहुत ही कमजोर हैं। यह केवल ऐसी साइटें हैं जो * एक्सेस के लिए चार्ज * या अन्यथा सार्वजनिक रूप से बंद होती हैं जहां इसे Google मानचित्र AFAIK का उपयोग करने के लिए मना किया जाता है। –

+0

@ पेक्का जो सही के बारे में लगता है। – codemonkey613

+0

हालांकि इस लिंक को साझा करने के लिए धन्यवाद, उनकी सेवाएं बहुत दिलचस्प लगती हैं। –

4

अगर आप देशांतर और प्रत्येक ज़िपकोड की अक्षांशों है (खोज गूगल) आप निकटतम पड़ोसियों की गणना करने के Haversine फॉर्मूला उपयोग कर सकते हैं।

http://www.codecodex.com/wiki/Calculate_Distance_Between_Two_Points_on_a_Globe

+1

मुझे ज़िप/पोस्टल कोड के यूएसए/कनाडा डेटाबेस को खोजने की आवश्यकता होगी। जो 80,000 से अधिक रिकॉर्ड होगा; और यह अद्यतित होना होगा। जो इस तरह के एक साधारण आवेदन के लिए थोड़ा अधिक लगता है। तो मुझे आशा है कि मैं इसे Google मानचित्र API के साथ कर सकता हूं। – codemonkey613

+0

इसलिए कोई उपयोगकर्ता एक ज़िपकोड इनपुट करता है, तो आप अपने सभी 40+ स्थानों का चयन करते हैं क्योंकि आप नहीं जानते कि अभी तक निकटतम कौन सा है। आप अपनी ऐप परत में स्थानों को लूप करते हैं और उपयोगकर्ता द्वारा दर्ज किए गए ज़िप के सापेक्ष इसकी दूरी की गणना करने के लिए प्रत्येक के लिए googlemaps api को कॉल करते हैं। 40+ AJAX कॉल बाद में आपके पास सभी 40+ स्थानों के लिए सभी दूरी हैं ताकि आप तदनुसार सूची फ़िल्टर कर सकें और उपयोगकर्ता को प्रदर्शित कर सकें। हमम, यह कितना उत्तरदायी होना चाहिए? –

+1

यह और अधिक होगा: उपयोगकर्ता ज़िप कोड में प्रवेश करता है, Google मानचित्र API उस ज़िप कोड के लिए अक्षांश और लंबे समय तक लौटाता है। मेरे पास हमारे 40+ स्थानों के लिए पहले से ही लेट और लम्बाई है, निकटतम गणना करने के लिए हावर्सिन फॉर्मूला का उपयोग करें। – codemonkey613

3

आप देशांतर और अक्षांश, जिसमें से आप दूरी की गणना कर सकते हैं के साथ ज़िप कोड की एक database की जरूरत है।

+0

लिंक किया गया डेटाबेस 10 साल पुराना डेटा उपयोग करता है। नए ज़िप कोड बहुत बार जोड़े जाते हैं। –

+0

क्या होगा यदि मेरे पास केवल ज़िप कोड हैं? – Umair

+0

पवित्र गाय यह अद्भुत है! धन्यवाद –

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