2017-04-26 117 views
0

我使用Bing的Autosuggest UI(Without Map)在地址输入中填充自动填充,但根据查询,selectedResult缺少adminDistrictpostalCodeBing“地址对象”缺少adminDistrict或postalCode

下面的代码与Bing的demo上使用的代码非常相似。唯一的区别是selectedSuggestion()innerHTML

信息缺少哪些地址的两个例子如下:

1)242 w^16街,纽约,纽约- 缺少adminDistrict;
2)227 W Trade St,Charlotte,NC - 错过zipCode

关于如何解决此问题的任何建议,以便每个selectedResult包含adminDistrictzipCode

Microsoft.Maps.loadModule('Microsoft.Maps.AutoSuggest', { 
    callback: onLoad, 
    errorCallback: onError, 
    credentials: 'Your Bing Maps Key' 
}); 

function onLoad() { 
    var options = {maxResults: 5}; 
    var manager = new Microsoft.Maps.AutosuggestManager(options); 
    manager.attachAutosuggest('#searchBox', '#searchBoxContainer', selectedSuggestion); 
} 

function onError(message) { 
    document.getElementById('printoutPanel').innerHTML = message; 
} 


function selectedSuggestion(suggestionResult) { 
    document.getElementById('printoutPanel').innerHTML = 
    'Suggestion: ' + suggestionResult.formattedSuggestion + 
    '<br> Street: ' + suggestionResult.address.addressLine + 
    '<br> City: ' + suggestionResult.address.locality + 
    '<br> State: ' + suggestionResult.address.adminDistrict + 
    '<br> Zip: ' + suggestionResult.address.postalCode; 
} 

回答

0

Autosuggest旨在帮助处理地理编码结果。地理编码的主要目标是找到在地图上正确位置显示地址的坐标。其他任何东西都是额外的,不保证会被退回。地理编码器不是地址验证工具。

这就是说,我有点惊讶,adminDistrict没有返回。不返回一个邮政编码可能会有很多原因。

+0

感谢@rbrundritt的解释。 Bing是否有一个可以验证地址的工具? –

+0

真正的地址验证服务只有在少数国家才真正可用,通常相当昂贵。 5月公司经常使用地理编码器作为便宜的选择,但它不是100%完美的。 – rbrundritt