Laravel 5.2 按与用户邮政编码的距离搜索用户

Laravel 5.2 search for users by distance from users postcode

我对 Laravel 5.2 和尝试按距离搜索用户有疑问。

到目前为止这是我的数据库布局。

用户 - 用户 table 没有个人信息。

users_info - 此 table 具有用户信息(邮政编码和地址)并通过相同的 ID (user_id > id)

连接

我还有一个 table,其中包含名为 postcodes_geo 的邮政编码信息,其中包含字段

id int(11)
postcode varchar(5)
suburb varchar(100)
state varchar(4)
latitude decimal(6,3)
longitude decimal(6,3)

现在我很迷茫,不知道如何根据与正在搜索的用户邮政编码的距离来搜索用户。我是 PHP 的新手,因为我只是一名前端开发人员。

有没有其他人设置过这种类型的搜索,或者可以给我提示?

您可以使用这个包:https://github.com/alexpechkarev/google-maps 使用它,您可以计算与邮政编码或地址的距离。

如果您总是计算相对于固定地点的距离,请尝试在创建用户信息时将距离也保存在table中。

现在如果需要动态计算距离,我会先pick同一郊区内的所有用户(如果需要获取距离最短的用户),然后使用上面的包来计算距离使用他们的邮政编码或地址。

这只是一个想法。但这行得通。您可以进一步提供更多参数来获取用户集合。