【问题标题】:show restaurant within particular kilometers in the selected city [closed]在所选城市的特定公里内显示餐厅[关闭]
【发布时间】:2013-08-21 02:56:07
【问题描述】:

我需要在 codeigniter 中执行一项新任务,我有包含城市、州、国家和邮政编码的餐厅详细信息,现在如果用户在前端输入城市或邮政编码并且他可以选择公里(公里)。我需要向一公里内可用的餐厅展示我的数据库中可用的内容。为此,我能做的是我需要使用任何脚本或需要使用任何 api。有可能吗?

有人知道这是否可以实现吗?因为我迫切需要一些帮助。提前致谢!

【问题讨论】:

标签: api codeigniter scripting


【解决方案1】:

您首先需要存储所有餐厅的纬度和经度,然后您可以在模型中使用类似这样的内容轻松到达餐厅附近:

function getNear($lat =false,$lng=false,$distance = false /*km range*/){

$multiplier = 112.12; // use 69.0467669 if you want miles

$query = $this->db->query("SELECT *, (SQRT(POW((restaurants.lat - $lat), 2) + POW((restaurants.long - $lng), 2)) * $multiplier) AS distance FROM restaurants WHERE POW((restaurants.lat - $lat), 2) + POW((restaurants.long - $lng), 2) <= POW(($distance / $multiplier), 2)  ORDER BY distance ASC ;");

return $query->result();

}

然后调用它

$this->model->getNear($lat,$long,$distance_in_kilometers);

此查询在名为“restaurants”的表上运行,该表具有包含地点坐标的字段“lat”和“long”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多