आप क्वेरी भविष्यवाणियों को प्राप्त करने के लिए स्वत: पूर्ण सेवा का उपयोग कर सकते हैं। इसमें एक कॉलबैक फ़ंक्शन है।
आपके द्वारा प्रदान किए गए लिंक से उदाहरण पर, आप स्क्रिप्ट में वैश्विक चर के रूप में इनपुट घोषित कर सकते हैं। और के बाद स्वत: पूर्ण सेवा साथ पहुँच यह प्रारंभ समारोह:
var input;
function initialize() {
...
input = document.getElementById('pac-input');
...
}
function showSpinner() {
document.getElementById('spinner').style.display = 'block';
var service = new google.maps.places.AutocompleteService();
service.getQueryPredictions({ input: input }, callback);
}
function callback(predictions, status) {
if (status != google.maps.places.PlacesServiceStatus.OK) {
document.getElementById('spinner').style.display = 'none';
return;
}
}
एचटीएमएल दस्तावेज़ में परिवर्तन के लिए के रूप में:
<body>
<input id="pac-input" class="controls" type="text"
placeholder="Enter a location" onkeypress="showSpinner()">
<img id="spinner" src="spinner.gif" style="position:absolute; top:0; right:0; width: 250px; display: none">
</body>
मैं यह कार्य तभी एक दूसरा टाइमआउट चल पाएंगे (यानी यदि उपयोगकर्ता का इंटरनेट कनेक्शन धीमा है), अन्यथा स्पिनर एक अशिष्ट छवि की तरह दिखता है।
क्या आपने ऑटो पूर्ण करने के बजाए अपना नियंत्रण लिखने की कोशिश की है, बस जियोकोडर सेवा का उपयोग करें? कुंजी पर (एक सेकंड के बाद एक जियोकोड करें, अपने स्पिनर को दिखाएं, फिर जियोकोड पर स्पिनर को छुपाएं और कुछ परिणाम विकल्पों के साथ एक सूची दिखाएं। –
@loanburger मैंने कोशिश की, केवल 1 http से ही इसे थोड़ा सा दुबला कॉल प्रति प्रश्न और चयनित आइटम बनाया जाएगा। यदि आप एपीआई के Google का उपयोग करते हैं तो सार्वजनिक रूप से एपीआई ऑफ़र (निर्देशांक और आपके द्वारा चुने गए बारे में जानकारी सहित) को दोहराने के लिए एक से अधिक कॉल लेते हैं। Google आपके अनुरोधों को अवरुद्ध नहीं करेगा जितना अधिक – Akshat
अरे, खोज करने के लिए एंटर दबाकर भी एक वैध ऑपरेशन है, अगर Google मानचित्र हमें ऐसा करने देता है, तो आप अपने उपयोगकर्ताओं को ऐसा क्यों नहीं करना चाहिए? इस डेमो को देखें, यह भी करता है: https: // google -developers.appspot.com/maps/documentation/utils/geocoder/ – miguev