zoukankan      html  css  js  c++  java
  • php 搜索附近人及SQL语句的写法

    /**
    * 根据经纬度和半径查询在此范围内的所有
    * @param String $lat 纬度
    * @param String $lng 经度
    * @param float $radius 半径
    * @return Array 计算出来的结果
    */
    public function doPageFujin() {
    global $_W,$_GPC;
    $uniacid = $_W['uniacid'];
    $lat = $_REQUEST['lat'];
    $lng = $_REQUEST['lo'];
    $radius = 5000;//方圆5公里的
    $scope = $this->calcScope($lat, $lng, $radius); // 调用范围计算函数,获取最大最小经纬度
    // var_dump($scope);
    $minlat = $scope['minLat'];
    $maxlat = $scope['maxLat'];
    $minlong = $scope['minLng'];
    $maxlong = $scope['maxLng'];
    /** 查询经纬度在 $radius 范围内的电站的详细地址 */
    $where1 = " and latitude >= '{$minlat}' and latitude <= '{$maxlat}' and longitude >= '{$minlong}' and longitude <= '{$maxlong}'";
    $sql = "SELECT * FROM ".tablename("pinba_pinyou")." where uniacid=:uniacid ". $where1;
    $list = pdo_fetchall($sql,array(":uniacid"=>$uniacid));
    // $sql = pdo_fetchall("SELECT * FROM".tablename("pinba_pinyou")."where uniacid=:uniacid ". $where1,array(":uniacid"=>$uniaicd));
    // var_dump($sql);
    return $this->result(0,"success",$list);
    }

    /**
    * 根据经纬度和半径计算出范围
    * @param string $lat 纬度
    * @param String $lng 经度
    * @param float $radius 半径
    * @return Array 范围数组
    */
    private function calcScope($lat, $lng, $radius) {
    $degree = (24901*1609)/360.0;
    $dpmLat = 1/$degree;

    $radiusLat = $dpmLat*$radius;
    $minLat = $lat - $radiusLat; // 最小纬度
    $maxLat = $lat + $radiusLat; // 最大纬度

    $mpdLng = $degree*cos($lat * (PI/180));
    $dpmLng = 1 / $mpdLng;
    $radiusLng = $dpmLng*$radius;
    $minLng = $lng - $radiusLng; // 最小经度
    $maxLng = $lng + $radiusLng; // 最大经度

    /** 返回范围数组 */
    $scope = array(
    'minLat' => $minLat,
    'maxLat' => $maxLat,
    'minLng' => $minLng,
    'maxLng' => $maxLng
    );
    return $scope;
    }

  • 相关阅读:
    工厂方法
    简单工厂
    单例模式
    MVC中Cookies的简单读写操作
    windows服务开启(收藏url)
    WCF的三种模式
    SvcUtil.exe导入WCF
    简述wcf应用
    sql的几种常用锁简述
    Lucene.Net和盘古分词应用
  • 原文地址:https://www.cnblogs.com/isuansuan/p/9984891.html
Copyright © 2011-2022 走看看