tp计算距离,筛选0-10km距离内商家

$field_lat = 'lat';// 数据库字段名 - 纬度  -90°到90°
$field_lng = 'lng';// 数据库字段名 - 经度  -180°到180°
$lat       = $params['lat'];// 数据库字段名 - 纬度  -90°到90°
$lng       = $params['lng'];// 数据库字段名 - 经度  -180°到180°

//语句

$field           = "(6378.138 * 2 * asin(sqrt(pow(sin(({$field_lng} * pi() / 180 - {$lng} * pi() / 180) / 2),2) + cos({$field_lng} * pi() / 180) * cos({$lng} * pi() / 180) * pow(sin(({$field_lat} * pi() / 180 - {$lat} * pi() / 180) / 2),2))) * 1000)";

查询:

//距离筛选0-10km
if ($params['distance']) {//0-10   数字$distance     = $this->getParams($params['distance'], '-');$min_distance = $distance[0] * 100;//初始km$max_distance = $distance[1] * 100;//结束km//查询数据$result = $ShopModel->where($where)->field("*")->field("{$field} as distance")->where("{$field} BETWEEN {$min_distance} AND {$max_distance}")->order('distance asc,id desc')->paginate(["list_rows" => $params["page_size"] ?? $this->PageSize, "query" => $params])->each(function ($item, $key) use ($params) {//处理公共数据if ($item['distance']) $item['distance_km'] = round($item['distance'] / 100, 2) . 'km';return $item;});} else {//算出距离,排序$result = $ShopModel->where($where)->field("*")->field("{$field} as distance")->order('distance asc,id desc')->paginate(["list_rows" => $params["page_size"] ?? $this->PageSize, "query" => $params])->each(function ($item, $key) use ($params) {//处理公共数据if ($item['distance']) $item['distance_km'] = round($item['distance'] / 100, 2) . 'km';return $item;});}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/374652.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑的D盘E盘F盘突然消失了 电脑只剩下C盘了其他盘怎么恢复

现如今随着时代的发展,无纸化办公成为主流,这主要归功于电脑,能够通过电脑完成的工作绝不使用纸质文件,这不仅提高了工作效率,也让一些繁杂的工作变的更加简单。不过电脑毕竟是电子产品,不可避免的会出现一…

通信协议_Modbus协议简介

概念介绍 Modbus协议:一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De f…

Navicat导入sql文件

文章目录 Navicat导入SQL文件,使用默认导入,不做任何修改报错尝试一修改运行时的选择 尝试二修改my.ini的配置文件 Navicat导入SQL文件,使用默认导入,不做任何修改报错 尝试一 修改运行时的选择 取消勾选 ‘每个运行中运行多重查…

一键掌握天气动态 - 基于Vue和高德API的实时天气查询

前言 本文将学习如何使用Vue.js快速搭建天气预报界面,了解如何调用高德地图API获取所需的天气数据,并掌握如何将两者有机结合,实现一个功能丰富、体验出色的天气预报应用 无论您是前端新手还是有一定经验,相信这篇教程都能为您带来收获。让我们一起开始这段精彩的Vue.js 高德…

Mac的系统数据怎么删除 cleanmymac会乱删东西吗 cleanmymac有用吗

作为一款专业级的苹果电脑清理软件,CleanMyMac可以精准识别系统垃圾,有效防止Mac系统数据被误删。软件可以深入系统底层,清理无用的系统数据,优化苹果电脑设置,提升Mac系统性能。有关Mac的系统数据可以删吗&#xff0c…

拥抱 AGI:PieDataCS 引领云原生数据计算系统新范式

自2023年后,人工智能技术进入了一个更为成熟和广泛应用的阶段,人工通用智能(AGI)这一概念也成为了科技界和产业界热议的焦点。本文将结合 AGI 时代背景,从架构设计到落地实践,详细介绍拓数派云原生数据计算…

HTAP 数据库在国有大行反洗钱场景的应用

导读 在金融领域,随着数字化服务的深入和监管要求的提高,反洗钱工作变得尤为关键。洗钱活动不仅威胁金融安全,也对社会秩序构成挑战。本文深入探讨了国产 HTAP 分布式数据库 TiDB 在某国有大行反洗钱系统中的应用实践。 依托 TiDB 构建的新…

springboot大学校园二手书交易APP-计算机毕业设计源码25753

摘 要 在数字化与移动互联网迅猛发展的今天,人们对于图书的需求与消费方式也在悄然改变。为了满足广大读者对图书的热爱与追求,我们倾力打造了一款基于Android平台的图书交易APP。这款APP不仅汇聚了海量的图书资源,提供了便捷的交易平台&…

usbserver工程师手记(三)手工开通 OTP功能

1、设定密钥,用户自行选择一个密钥,以下以密钥为 EAZAYOKNGETBOPC5 为例说明 2、usb server 配置otp 密钥,目前还没有UI 界面开通,后续版本会支持从管理界面开通 curl -X POST -H Content-Type: application/json -H Accept: app…

【深度学习入门篇 ②】Pytorch完成线性回归!

🍊嗨,大家好,我是小森( ﹡ˆoˆ﹡ )! 易编橙终身成长社群创始团队嘉宾,橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创官、CSDN人工智能领域优质创作者 。 易编橙:一个帮助编程小…

数据结构复习计划之复杂度分析(时间、空间)

第二节:算法 时间复杂度和空间复杂度 算法(Algorithm):是对特定问题求解方法(步骤)的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。 算法可以有三种表示形式: 伪代码 自然语言 流程图 算法的五…

FFmpeg 实现从麦克风获取流并通过RTMP推流

使用FFmpeg库(版本号为:4.4.2-0ubuntu0.22.04.1)实现从麦克风获取流并通过RTMP推流。 RTMP服务器使用的是SRS,我这边是跑在Ubuntu上的,最好是关闭掉系统防火墙,不然连接服务器好像会出问题,拉流…

SpringBoot开发实用篇(三)

一:任务 1:SpringBoot整合Quartz 导入SpringBoot整合quartz的坐标定义具体要执行的任务,继承QuartzJobBean定义工作明细和触发器,并绑定对应关系 2:SpringBoot整合task 开启定时任务功能设置定时执行的任务&#x…

怎么样的主食冻干算好冻干?品质卓越、安全可靠的主食冻干分享

当前主食冻干市场产品质量参差不齐。一些品牌过于追求营养数据的堆砌和利润的增长,却忽视了猫咪健康饮食的基本原则,导致市场上出现了以肉粉冒充鲜肉、修改产品日期等不诚信行为。更令人担忧的是,部分产品未经过严格的第三方质量检测便上市销…

记录文字视差背景学习

效果图 文字背景会随鼠标上下移动变成红色或透明 html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><titl…

【linux】服务器卸载cuda

【linux】服务器卸载cuda 文章目录 【linux】服务器卸载cuda1、查找已安装的 CUDA 包&#xff1a;2、卸载 CUDA&#xff1a;3、删除残留文件4、更新系统的包索引&#xff1a;5、检查是否卸载干净&#xff1a; 1、查找已安装的 CUDA 包&#xff1a; dpkg -l | grep cuda2、卸载…

CSS3实现彩色变形爱心动画【附源码】

随着前端技术的发展&#xff0c;CSS3 为我们提供了丰富的动画效果&#xff0c;使得网页设计更加生动和有趣。今天&#xff0c;我们将探讨如何使用 CSS3 实现一个彩色变形爱心加载动画特效。这种动画不仅美观&#xff0c;而且可以应用于各种网页元素&#xff0c;比如加载指示器或…

基于深度学习LightWeight的人体姿态之行为识别系统源码

一. LightWeight概述 light weight openpose是openpose的简化版本&#xff0c;使用了openpose的大体流程。 Light weight openpose和openpose的区别是&#xff1a; a 前者使用的是Mobilenet V1&#xff08;到conv5_5&#xff09;&#xff0c;后者使用的是Vgg19&#xff08;前10…

Django QuerySet对象,exclude()方法

模型参考上一章内容&#xff1a; Django QuerySet对象&#xff0c;filter()方法-CSDN博客 exclude()方法&#xff0c;用于排除符合条件的数据。 1&#xff0c;添加视图函数 Test/app11/views.py from django.shortcuts import render from .models import Postdef index(re…

从0开始的STM32HAL库学习4

对射式红外传感器计数复现 配置工程 我们直接复制oled的工程&#xff0c;但是要重命名。 将PB14设置为中断引脚 自定义命名为sensorcount 设置为上升沿触发 打开中断 配置NVCI 都为默认就可以了 修改代码 修改stm32f1xx_it.c 文件 找到中断函数并修改 void EXTI15_10_I…