2012-12-21 9 views
5

मेरे पास यह फ़ंक्शन उपयोगकर्ता दर्ज पते के आधार पर बिंग पता सुझावों को वापस करने के लिए है। मैं पहले से ही उपयोगकर्ता स्थान निर्दिष्ट कर रहा हूं, लेकिन परिणाम लगभग सटीक नहीं हैं क्योंकि मुझे लगता है कि वे होना चाहिए। क्या मुझे कुछ और अतिरिक्त करना चाहिए? यदि मुझे करना है तो मैं मैन्युअल रूप से राज्य या डाक कोड निर्दिष्ट कर सकता हूं, लेकिन मैं पोस्ट प्रोसेसिंग करने से बचाना चाहता हूं।ऑटो पूर्ण के लिए उपयोगकर्ता स्थान द्वारा मैं Bing स्थान API परिणाम कैसे फ़िल्टर कर सकता हूं?

उदाहरण के लिए, 111, एनवाई, 111 स्वीडन, 111 डेनमार्क से 111 रिटर्न परिणाम टाइप करना। मैं इसे कम से कम केवल यूएस तक सीमित करना चाहता हूं, और वास्तव में केवल कुछ राज्यों में जो मैं हार्डकोड कर सकता हूं। जब मैं डेटा में डाक कोड के लिए मैन्युअल रूप से विकल्प निर्दिष्ट करता हूं, तो यह क्वेरी में उपयोग किए गए कार्यों को ओवरराइड करता है।

var geolocate = function(options) { 
    $.ajax({ 
     url: "http://dev.virtualearth.net/REST/v1/Locations", 
     dataType: "jsonp", 
     data: { 
      key: "KEY", 
      q: options.address, 
      userLocation: options.latitude + ',' + options.longitude, 
      maxResults: options.maxResults, 
     }, 
     jsonp: "jsonp", 
     success: function(data) { 
      if (options.success instanceof Function) { 
       options.success(data); 
      } 
     }, 
     error: function(xhr, status, text) { 
      alert('ERROR:\n'); 
     } 
    }); 
}; 

उत्तर

1

यह पता चला है के रूप में, यह वास्तव में मैं क्या इरादा (जब तक परीक्षण नहीं तो साबित होता है), क्या करेंगे मैं एक ही परम, क्ष के रूप में निर्दिष्ट हो गया था, लेकिन अगर मैं userLocation के साथ संयोजन में addressLine उल्लेख करें कि यह अपेक्षित परिणामों को फ़िल्टर करें।

var geolocate = function(options) { 
    $.ajax({ 
     url: "http://dev.virtualearth.net/REST/v1/Locations", 
     dataType: "jsonp", 
     data: { 
      key: "KEY", 
      addressLine: options.address, 
      countryRegion: 'US', 
      userLocation: options.latitude + ',' + options.longitude, 
      maxResults: options.maxResults, 
     }, 
     jsonp: "jsonp", 
     success: function(data) { 
      if (options.success instanceof Function) { 
       options.success(data); 
      } 
     }, 
     error: function(xhr, status, text) { 
      alert('ERROR:\n\n'); 
     } 
    }); 
}; 
0

मैं कुछ फेरबदल मैंने कुछ समय पहले किया था परे बिंग मैप्स एपीआई साथ बहुत परिचित नहीं हूँ ... लेकिन आप आईपी गुजर या इलाके सहित की कोशिश की? आपको शहर का नाम प्राप्त करने के लिए उपयोगकर्ताओं को लेट/एलएनजी को देखने की आवश्यकता हो सकती है ... क्यों वे उपयोगकर्ता से उस जानकारी को extrapolate नहीं करेंगे स्थान हालांकि मेरे बाहर है।

http://msdn.microsoft.com/en-us/library/ff701714.aspx

+0

दुर्भाग्यवश, आईपी और उपयोगकर्ता दोनों स्थान बहुत कम परिणामों को संकीर्ण नहीं लगते हैं। मुझे परिणामों को एक साथ जोड़ना होगा, खासकर उन लोगों से बाहर। – AceoStar

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