2009-08-24 13 views
6

के साथ एकीकृत करता है स्वत: पूर्ण स्थान खोजों पर कोई अच्छा सुझाव, जो Google या Bings स्थान डेटा जैसे कुछ के साथ एकीकृत करता है?स्थान खोज स्वत: पूर्ण जो bing/google geocoding

मैं साइन अप पर अपने उपयोगकर्ताओं का स्थान कैप्चर करना चाहता हूं, वर्तमान में मेरे पास एक निःशुल्क टेक्स्ट इनपुट बॉक्स है। मैं कुछ प्रकार के ऑटो पूर्ण होना चाहता हूं जो उपयोगकर्ता को अधिक स्वच्छतापूर्ण जानकारी इनपुट करने के लिए मार्गदर्शन करता है, आदर्श रूप में मैं उपयोगकर्ता को भी भू-कोड करना चाहता हूं।

मैं वर्तमान में ऑटोसर्च के लिए jQuery autocomplete का उपयोग कर रहा हूं, लेकिन इसके लिए मुझे स्थान डेटा प्रदान करने की आवश्यकता है, जो मेरे पास नहीं है या मैं बनाए रखना चाहता हूं।

उत्तर

7

यदि आप अपने स्वयं के डेटाबेस (आपके लिए अच्छा!) बनाए रखना नहीं चाहते हैं, तो आप फ्रीबेस और उनके Freebase Suggest jQuery के लिए प्लगइन देख सकते हैं। वे आपके लिए सभी ऑटो-पूर्णता और यहां तक ​​कि सुझाव यूआई भी करेंगे और आप निर्दिष्ट कर सकते हैं कि आप केवल ऑटो-पूर्ण स्थानों (या केवल यूएस काउंटी, या जो भी) पूर्ण करना चाहते हैं।

ऐसे गैजेटर्स मौजूद हैं जो स्थान के नाम का डेटाबेस प्रदान कर सकते हैं लेकिन आपके लिए ऑटो-पूर्ण यूआई नहीं करेंगे। उदाहरण के लिए, GeoNames, web services का एक अच्छा सेट है, जिसे आप jQuery Autocomplete से मेल कर सकते हैं।

+0

किंडा शांत है, लेकिन इसकी बहुत अमेरिका केंद्रित, और पॉप-अप की तरह विकी abit overkill है। – Dan

+0

गैजेटर्स आपको नामों का पूर्ण डेटाबेस प्रदान कर सकते हैं। (मैंने कुछ उत्तरों के साथ अपना जवाब अपडेट कर दिया है।) – npdoty

+0

इसके अलावा, अगर आपको फ्रीबेस सुझाव के फ्लाईआउट पसंद नहीं हैं, तो मैं '{" फ्लायआउट ":" झूठा "}' सुझाव दूंगा। – npdoty

2

हम https://bombsheets.com/ पर "बिलिंग पता" क्षेत्र के लिए कुछ इसी तरह करते हैं - आप एक AJAX कॉल कर स्वत: पूर्ण विकल्प प्राप्त करने के लिए की जरूरत है:

$(".address-autocomplete").autocomplete('/get_address', { 
    delay: 250, 
    scrollHeight: 400, 
    matchSubset: false, 
    cacheLength: 10, 
    minChars: 3 
}); 

और फिर एक जियोलोकेशन एपीआई सर्वर साइड का उपयोग पाने के लिए वास्तविक पते (हम रेल के उत्कृष्ट GeoKit का उपयोग करते हैं)।

कुछ अतिरिक्त रंगों के लिए this question देखें।

0
<script> 
     function init() { 
      var input = document.getElementById('locationTextField'); 
      var autocomplete = new google.maps.places.Autocomplete(input); 

      ///Start for getting lat and lang 

      google.maps.event.addListener(autocomplete, 'place_changed', 
       function() { 
        var place = autocomplete.getPlace(); 
        var lat = place.geometry.location.lat(); 
        var lng = place.geometry.location.lng(); 
        document.getElementById("lat").innerHTML = "Lat: "+lat+"<br />Lng: "+lng; 
       } 
      ); 

      ////End 
     } 

     google.maps.event.addDomListener(window, 'load', init); 
    </script> 
संबंधित मुद्दे