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

时间:2016-03-21 01:21:56

标签: php mysql laravel search geo

我有一个关于Laravel 5.2的问题,并尝试按距离搜索用户。

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

用户 - 用户表中没有个人信息。

users_info - 此表包含用户信息(邮政编码和地址),并通过相同的ID(user_id > id)连接

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

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

现在我迷失了,因为我将如何通过距离正在搜索的用户邮政编码来搜索用户。我是PHP新手,因为我只是一名前端开发人员。

有没有其他人在此之前设置此类型的搜索,或者可能会给我一个提示?

1 个答案:

答案 0 :(得分:1)

您可以使用此套餐:https://github.com/alexpechkarev/google-maps 使用此功能,您可以使用邮政编码或地址计算距离。

如果您始终计算相对于固定位置的距离,请在创建用户信息时尝试保存表格中的距离。

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

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