我需要创建一个商店的JavaScript数据库,它将根据用户指定的邮政编码进行排序。限制是这需要完全在浏览器中运行。用户输入邮政编码后,我需要显示最近的一个列表,以英里显示商店名称,城镇,县和距离,并提供指向其他页面的链接以获取更多详细信息。
我想过在谷歌地图上显示每个商店,并以某种方式使用它来计算用户邮政编码和最近的商店之间的距离,但不确定这是否可行?
我还想过使用TaffyDB来创建浏览器内数据库:
var shops = TAFFY([{
name: "Spaday",
town: "Canterbury",
county: "Kent",
postcode: "CT1 1FG"
}, {
name: "BodySan",
town: "Southend-on-Sea",
county: "Essex",
postcode: "SS1 1PG"
}]);
但关键的一点是,我不知道如何实现邮政编码排序,如果用户也可以在指定范围内排序,那将是理想的。 10英里等。我不需要极高的距离精度,但越准确越好。
在浏览器中通过邮政编码对商店进行排序的最佳方法是什么?并且可能有更好的方法来创建这个浏览器内的商店数据库吗?
非常感谢任何帮助。
答案 0 :(得分:0)
我过去做过类似的事情。 在我的场景中,我使用了一个mysql数据库,在那里我指定了我需要显示的所有信息(注意不要生成太大的javascript)而且我没有实现在指定半径内找到某些东西的可能性,只有最接近的事。 要计算距离(从一开始就知道我的点的坐标,在您的场景中哪些是商店)我使用Here Maps javascript reverse geocoding API获得客户邮政编码的纬度和经度,然后您可以选择自己计算距离或使用另一个API(我自己计算距离,用客户坐标循环地图上的每个点并保存最接近的......但你可以决定你想要的任何东西,我认为还有API来做到这一点) 。
希望这有帮助
P.S。我选择Here Maps API而不是Google Maps,因为我需要有更多自由来操作地图