मेरे पास followıng क्वेरी है, जो एक ज़िप कोड है: 11368
।Google की स्वत: पूर्ण सेवा और स्वत: पूर्ण एक ही क्वेरी के साथ अलग-अलग परिणाम लौटाने
जब मैं एक स्वत: पूर्ण वस्तु (नहीं सेवा) मैं शीर्ष पर जिप कोड के वास्तविक क्षेत्र हो रही है बनाने के लिए:
autocomplete = new google.maps.places.Autocomplete(
document.getElementById('PlaceSearch'),
{ types: ['(regions)'] });
[...]
यह वह जगह है:
इस कोड है बिल्कुल मैं क्या चाहता हूँ। हालांकि, मुझे डिजाइन कारणों के लिए एक कस्टम स्वत: पूर्ण प्रणाली साइट-वार का उपयोग करने की आवश्यकता है, इसलिए मैं AutocompleteService
पर स्थानांतरित हो गया हूं जो गैर-यूआई, एक ही चीज़ का कोड-केवल संस्करण है (कम से कम यह होना चाहिए)। मैं अपने स्वत: पूर्ण सेवा बनाने:
x = new google.maps.places.AutocompleteService();
और मैं का उपयोग करें:
मैं description
उपयोग कर रहा हूँ:
x.getQueryPredictions({ input: key }, function (results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
[...]
});
});
बहरहाल, यह मैं क्या परिणामों से मिलता है प्रविष्टि को प्रदर्शित करने के लिए संपत्ति, हालांकि यह लौटाया गया स्थान में पहली प्रविष्टि की जगह आईडी के रूप में समस्या नहीं है टियां पूरी तरह से अलग हैं भले ही मैं एक ही प्रश्न में टाइप कर रहा हूं।
मैं भी कोशिश की है:
x.getQueryPredictions({ input: key, types: ['(regions)'] }
,
x.getQueryPredictions({ input: key, types: ['(geocode)'] }
,
x.getQueryPredictions({ input: key, types: ['geocode'] }
हालांकि यह किसी भी सब पर प्रभाव नहीं पड़ता है। यह बिल्कुल वही है। मैंने Different result between google maps Autocomplete and AutocompleteService भी देखा है, लेकिन इसका जवाब typeahead
स्तर पर एक प्रश्न का उत्तर देता है जबकि मेरी क्वेरी के परिणाम एपीआई स्तर पर गलत टाइप किए बिना भी हैं; मैंने इसे स्वत: पूर्ण सेवा से सीधे कॉलबैक फ़ंक्शन पर डीबगर के साथ चेक किया है।
मैं तो दोनों ही मामलों में नेटवर्क अनुरोधों का निरीक्षण किया गया है और यहां पर काम पर अनुरोध है:
https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetPredictions?1s11368&4sen-US&9s(regions)&15e3&key=XXXXXX&callback=_xdc_._qxy1y2&token=45006
यह सही JSON देता है।
वह अनुरोध है कि गलत JSON देता है:
https://maps.googleapis.com/maps/api/place/js/AutocompletionService.GetQueryPredictionsJson?1s11368&4sen-US&9s(regions)&15e3&key=XXXXXX&callback=_xdc_._38p24d&token=20471
और यह गलत JSON देता है। जो मैं देखता हूं उससे यह स्पष्ट है कि मुझे (regions)
में types
पैरामीटर के रूप में पास करने की आवश्यकता है, और यह अभी भी गलत है। अधिक बेतुका, दो प्रश्नों के बीच एकमात्र अंतर token
नामक एक चर है (मैंने गलत क्वेरी के टोकन को सही के साथ बदलने की कोशिश की है लेकिन मुझे The Google Maps JavaScript API must be downloaded directly from Google's servers.
त्रुटि मिली है) और कॉलबैक फ़ंक्शन, जो मुझे यकीन है कि उसके पास कुछ भी नहीं है लौटा JSON के साथ करो।एकमात्र चीज जिसे मैं सोच सकता हूं वह है कि टोकन लौटने के दौरान Google अपने सर्वर पर प्रारंभिक स्तर पर कुछ करता है, जो उस सर्वर/इंस्टेंस (इसलिए टोकन) से जुड़ा होता है।
मैं क्या गलत कर रहा हूं और मैं Google के अपने टाइपहेड कार्यान्वयन के साथ प्रोग्रामिक रूप से एक ही परिणाम कैसे प्राप्त कर सकता हूं?