2012-12-21 26 views
5

Kullanıcı girilen adrese göre bing adresi önerilerini döndürmek için bu işleve sahibim. Zaten kullanıcıLocation'u belirtiyorum, ancak sonuçlar tahmin ettiğim kadar doğru değil. Burada yapmam gereken bir şey var mı? Gerekirse, eyaleti veya posta kodunu manuel olarak belirleyebilirim, ancak post processing yapmaktan kaçınmayı tercih ederim. Örneğin 111 yazarak 111, NY, 111 İsveç, 111 Danimarka'dan sonuç döndürür. Bunu en azından ABD’ye ve gerçekten de yalnızca kodlayabildiğim birkaç eyalette kısıtlamak istiyorum. Verilerdeki postalCode seçeneklerini el ile belirttiğimde, sorguda kullandığım ayarları geçersiz kılar.Bing Location API sonuçlarını otomatik tamamlama için kullanıcı konumuna göre filtreleyebilir miyim?

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'); 
     } 
    }); 
}; 

cevap

1

, bu aslında, tek param, q olarak adresini belirterek, ama ben userLocation ile birlikte addressLine belirtirseniz (test aksi kanıtlıyor sürece) hangi amaçla hareket yapacak sonuçları beklendiği gibi filtreler.

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

Ben bir süre önce yaptığımız bazı müdahalesi ötesinde Bing Maps API ile çok aşina değilim ... ama ip geçirerek veya konumu dahil denediniz mi? Bir şehir ismi almak için kullanıcıların Lat/Lng araması yapmasını tersine çevirmeniz gerekebilir. Sonradan anlaşıldı ki

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

+0

Maalesef hem IP hem de userLocation sonuçları çok büyük ölçüde daraltmıyor gibi görünüyor. Sonuçların hepsini, özellikle ABD dışındakileri hariç tutmam gerekiyor. – AceoStar

İlgili konular