我在web应用程序中使用bing maps ajax控件和bing maps enterpise key。其中一个模块包含一个功能,用于对用户请求的地址列表进行地理编码。我使用以下代码片段进行地理编码。
for (var i = 0, j = addresses.length; i < j; i++) {
searchManager.geocode({
where : addresses[i],/*<address>,<city>,<state>,<country>,<zip>*/
count : 5,
callback : success,
errorCallback : failure
});
};
成功率非常低。即使多次尝试(大约150个地址到地理编码),也要接近10%。
所以,我想知道是否有任何方法可以使用Address
类(http://msdn.microsoft.com/en-us/library/hh868069.aspx)进行地理编码,而不是将地址作为字符串提供。官方文档仅提及将地址作为字符串提供( http://msdn.microsoft.com/en-us/library/hh868060.aspx)。我想用地址类而不是字符串检查的原因是,因为bing在Silverlight应用程序中映射SOAP api,我发现使用Address类时成功率更高。
提前感谢您在此问题上的任何帮助。
答案 0 :(得分:0)
首先,如果您在某处拥有地址数据,则应提前对其进行地理编码。使用您的地图在JavaScript中对您的所有地址进行地理编码很慢,并且它还会使用大量事务,因此您可以快速耗尽免费使用。您是否有理由在JavaScript应用中循环地址而不是对时间进行地理编码?
通常最好将地址作为单个字符串传递,并允许地理编码器对其进行解析。这实际上是一个在地理编码时用于REST服务的技巧。