2010-07-09 8 views
5

मेरी समस्या पंजीकरण के दौरान देश और 'शहर' के संयोजन के लिए उपयोगकर्ता के इनपुट को वैध/सामान्य करने से संबंधित है। आदर्श रूप में, मैं ओक्यूपिड (http://www.okcupid.com/signup) पंजीकरण पृष्ठ के समान कार्यक्षमता चाहता हूं जहां यह प्रश्न पूछा गया है। शहर इनपुट फ़ील्ड पर फोकस का नुकसान किसी भी तरह इनपुट को मान्य करता है, और यह आश्चर्यजनक रूप से अच्छा है। मैंने ग्रामीण ऑस्ट्रेलिया में एक छोटे से देश के शहर की कोशिश की (पॉप < 6000) और फिनलैंड में एक यादृच्छिक शहर, और दोनों सही ढंग से और जल्दी से मान्य किए गए थे।पंजीकरण के दौरान उपयोगकर्ता के 'शहर' इनपुट को सामान्यीकृत/मान्य करना

सामान्यीकरण/सत्यापन महत्वपूर्ण है क्योंकि मैं उपयोगकर्ता द्वारा जेनरेट की गई घटना इकाई के 'सिटी' फ़ील्ड को सामान्य करना चाहता हूं ताकि उपयोगकर्ता के समान स्थान पर मिलान करने की अनुमति मिल सके।

यह सत्यापन एक अनुप्रयोग तर्क परिप्रेक्ष्य से दोनों को समझ में आता है (मैं 'एनवाईसी' = 'न्यूयॉर्क शहर' = 'न्यूयॉर्क, न्यूयॉर्क' = 'न्यूयॉर्क' क्वाग्मर) से निपटना नहीं चाहता हूं, और एक उपयोगकर्ता परिप्रेक्ष्य (अन्य उपयोगकर्ता उपयोगकर्ता के स्थान को समझते हैं)।

यदि मैं कोई फर्क पड़ता हूं तो मैं PHP और jQuery का उपयोग कर रहा हूं, लेकिन इस बिंदु पर कोई भी समाधान कुछ भी नहीं है!

अग्रिम धन्यवाद!

संपादित करें: हल हो गया! याहू प्लेसमेकर एपीआई - फ्री-फॉर्म लोकेशन स्ट्रिंग पार्सिंग प्रदान करता है! दिन सीमा प्रति 50,000 अनुरोध:

http://developer.yahoo.com/geo/placemaker/

उत्तर

2

हल हो गया! याहू प्लेसमेकर एपीआई - फ्री-फॉर्म लोकेशन स्ट्रिंग पार्सिंग प्रदान करता है! दिन सीमा प्रति 50,000 अनुरोध:

http://developer.yahoo.com/geo/placemaker/

+0

यह बहुत बढ़िया है। क्या यह अक्षांश और देशांतर भी लौटाता है? –

+0

हाँ, सबकुछ। जिस तरह से इसे एक साथ रखा गया है, इसका अर्थ यह है कि यह मूल रूप से टेलीस्कोप को जितना कम या कम जानकारी देता है, जबकि आप इसे 'जानना' रेटिंग प्रदान करते हैं, जिसे आप जानना चाहते हैं। जैसेयदि आप किसी रिज़ॉल्यूशन पर क्रॉस-स्ट्रीट जानकारी चाहते हैं, तो इसमें यह नहीं है कि यह 'गुणवत्ता' मान को कम करने के दौरान पास कुछ प्रदान करता है। – ubermensch

+0

प्लेसफाइंडर और प्लेसमेकर सेवाएं 2012 में [बॉस सेवा] (https://developer.yahoo.com/boss/geo/) का हिस्सा बन गईं। वे अभी भी ** गैर-वाणिज्यिक ** उपयोग के लिए उपलब्ध हैं, और [दर प्रति एपीआई प्रति टेबल प्रति टेबल 2000 प्रश्नों तक सीमित] [https://developer.yahoo.com/boss/geo/docs/free_YQL.html#table_pf)। – jonatan

1

मान्यता प्रयोजनों के लिए, निम्न साइट एक बहुत ही व्यापक करने के लिए संदर्भ होते हैं अंतरराष्ट्रीय शहरों डेटाबेस (और मुफ़्त!)।

http://earth-info.nga.mil/gns/html/

सामान्य एक बहुत कठिन समस्या है। इसके लिए, आपको अधिकतर मालिकाना उत्पाद में टैप करने की आवश्यकता होगी। Google मानचित्र एक विकल्प हो सकता है।

+0

क्या आपने कभी इस डेटाबेस का उपयोग किया है? OpenStreetMap विकी डेटा के साथ कुछ चिंताओं का उल्लेख करता है (http://wiki.openstreetmap.org/wiki/GEOnet_Names_Server)। कोई विचार? – ubermensch

+0

पूरी तरह से यह अच्छा और उपयोगी है, लेकिन आपके द्वारा प्रदान किए गए लिंक पर उल्लिखित कुछ quirks है। यह उन शहरों के लिए बेहतर काम करता है जिनके मूल नाम लैटिन चरित्र सेट के साथ वर्तनी किए जाते हैं। कुछ एशियाई शहरों के नामों का Anglicisation कभी-कभी समस्याग्रस्त हो सकता है। – btreat

1

एक अच्छा तरीका एक शहर का नाम मान्य करने के लिए एक पते के रूप में पाठ का इलाज है, और समन्वय करता है करने के लिए इसे परिवर्तित करने के लिए, एक प्रक्रिया geocoding कहा जाता है। जियोकोडिंग भी पहचान की गई प्रत्येक स्थान के लिए अतिरिक्त डेटा प्रदान करती है, जिसका उपयोग आप यह सुनिश्चित करने के लिए कर सकते हैं कि यह आपकी आवश्यकताओं के अनुरूप है।

Google API geocoding का समर्थन करता है, और 2500 requests per day तक निःशुल्क है।

आप node-geocoder और geocoder-php जैसे एपीआई के साथ बातचीत के लिए मौजूदा लाइब्रेरी का उपयोग कर सकते हैं। पुस्तकालय अन्य geocoding providers की लंबी सूची का भी समर्थन करते हैं।

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