php获取附近周边集团

 
近日公司在做一个类型就是微信红包店。仿照的是微信官方在做的极度红包店的方式。客户抢红包,抢到以后到店消费,消费之后就可以获得商店的红包了。

  项目中的三个难题:

必发bifa88手机客服端,1因而小程序来发红包
 这一个以前在支付语音红包的时候曾经境遇那个坑了,已经成功的踩过了。在此间也总计下,因为近日或者有许多人加我微信咨询那么些。在那里自己再给我们总计下。

小程序发红包接口使用的是微信支付文档里的, 集团付款到零钱的职能,
只要不用红包接口就行了, 改成商家付款到零钱的接口, 一切就化解了,
然后专注 接口里的appid就填写小程序的appid,
接口里的openid就填写小程序抓取到的用户的openid就可以了
实际的印证参考她的文档https://pay.weixin.qq.com/wiki/doc/api/tools/mch\_pay.php?chapter=14\_1

 上面是发放红包的坑,希望对大家有扶助。接着大家谈第二点,就是各类集团入驻未来,客户打开小程序必要出示近期的集团。而且尽量展现近年来广泛的商店。比如您在温哥华就不须要把首都的店铺红包列出来了。
 那就是大家说的第二点难点了,怎样浮现近年来合作社。

 

2、显示红包店近来店家,距离排序难题。

 
这么些题材首先是合营社在入驻的时候,记得获取到商店的中纬度,将公司的经纬度存在数据库里。以便显示近期店家的时候,必要那一个数量。

 
 综合了网上的二种形式,最后我动用的是,统计一个圆形,然后将圆形放在一个四方形里,获取那么些四方形上下左右多个点的中纬度,然后采纳sql代码
 获取这方圆的营业所数目

   下边直接贴代码了。

    /**
     * 计算某个经纬度的周围某段距离的正方形的四个点
     * 地球半径,平均半径为6371km
     * @param lng float 经度
     * @param lat float 纬度
     * @param distance float 该点所在圆的半径,该圆与此正方形内切,默认值为0.5千米
     * @return array 正方形的四个点的经纬度坐标
     */
    function getAroundCoordinate($lng, $lat,$distance = 0.5){

        $dlng =  2 * asin(sin($distance / (2 * 6371)) / cos(deg2rad($lat)));
        $dlng = rad2deg($dlng);

        $dlat = $distance/6371;
        $dlat = rad2deg($dlat);

        return array(
            'left-top'=>array('lat'=>$lat + $dlat,'lng'=>$lng-$dlng),
            'right-top'=>array('lat'=>$lat + $dlat, 'lng'=>$lng + $dlng),
            'left-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng - $dlng),
            'right-bottom'=>array('lat'=>$lat - $dlat, 'lng'=>$lng + $dlng)
        );
    }

  

 
大家是应用的小程序前端获取的中纬度,你只要不采纳前端获取,那就可以运用ip地址来获取,使用百度的api接口来博取,只是好像地方不是很标准。

  //根据客户当前的ip地址来获取 经纬度
 function getlatlngbyip(){
     $getIp=$_SERVER["REMOTE_ADDR"];
     $content = file_get_contents("http://api.map.baidu.com/location/ip?ak=百度申请api填写在这里就可以了&ip={$getIp}&coor=bd09ll");
     $json = json_decode($content);
     $ary['lat']=$json->{'content'}->{'point'}->{'y'};//按层级关系提取纬度数据
     $ary['lng']=$json->{'content'}->{'point'}->{'x'};//按层级关系提取经度数据
       $ary['status']=1;$ary['info']='操作成功';  return  $ary;
 }

  

下边就是利用sql语句去查询商家了

 $search['lat']=array(array('gt',$fourpoint['right-bottom']['lat']),array('lt',$fourpoint['left-top']['lat']));
 $search['lng']=array(array('lt',$fourpoint['left-top']['lng']),array('gt',$fourpoint['right-bottom']['lng']));

  同时也参照了下其余的一部分网站的形式,大家可以看看,使用那么些办法就足以成功开发出一个红包店小程序了。

 

 

     我,秋峰,phper,方今创业,做项目系统开发 互相学习 共同升高微信号:qiufeng2983

 

 

 

 

 

 

以下那几个网址对我们享有支持,大家可以看看。

PHP代码获取客户端IP地址经纬度及所在城市 – 小小强学习网 – 乐乎
https://www.cnblogs.com/xqschool/p/6259558.html

tpshop商城根据用户坐标,向数据库查找附近的小卖部 – donaldbase – 新浪
https://www.cnblogs.com/donaldworld/p/6711329.html

PHP附近地理地点搜索完毕详解_百度文库
https://wenku.baidu.com/view/1feb0d9c33d4b14e852468b7.html

相关文章