Rot*_*imi 7 c# sql ajax optimization bing-maps
我有一个包含订单的数据库,每个订单都有一个关联的位置.Currentl,当用户登录时,我使用Bing Maps API对每个订单位置进行地理编码,然后计算到登录用户的行车距离.根据这些距离,用户可以通过下拉框指定最大距离,并在网格视图中显示结果.但是,如果订单超过100个,则流程变得非常缓慢.我希望有一些关于优化bing查询的技巧,可能会缓存结果(这样可以重用它们而无需重新访问bing maps api)或者利用Ajax以某种方式对后台处理订单.谢谢.
我计划在不久的将来做类似的事情,所以我有一些建议,但还没有实际的代码可以分享。我希望它有用。
我希望将每个项目的纬度/经度存储在我的数据库中(因此仅对它进行一次地理编码)。要选择距某个点一定距离内的项目,我将计算中心点北/南/东/西“x”英里的纬度/经度数字。然后,选择就变成了选择纬度/经度值落在我的平方值之间的记录的简单问题。
是的,我知道从技术上讲我应该使用圆圈来精确控制距离,但这更容易、更快。如果确实需要使用圆来进行更精确的限制,请先使用此方法,然后使用更复杂的计算来剔除圆角处圆外的项目。
我不熟悉 Bing 的许可,但如果我没记错的话 google,您需要有付费(商业)许可来存储地理编码的结果。而且它并不便宜。因此,这可能会否定我的建议可能具有的任何价值:(
编辑; 我只是更仔细地阅读了这个问题,我发现它谈论的是驾驶里程,而不是线性里程。因此,我的答案并不真正适用,除非您想用它来缩小必须执行的驾驶距离计算次数。
另外,关于地理编码和许可证的主题,您可以查看geocoder.us,它非常便宜。