• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    php微信开发之谷歌测距

    本文实例为大家分享了php微信谷歌测距的具体代码,供大家参考,具体内容如下

    ?php
    /**
     * wechat php test
     */
    
    //define your token
    define("TOKEN", "weixin");
    $wechatObj = new wechatCallbackapiTest();
    //$wechatObj->valid();
    $wechatObj->responseMsg();
    class wechatCallbackapiTest
    {
      public function valid()
      {
        $echoStr = $_GET["echostr"];
    
        //valid signature , option
        if($this->checkSignature()){
          echo $echoStr;
          exit;
        }
      }
    
      public function responseMsg()
      {
        //get post data, May be due to the different environments
        $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
    
        //extract post data
        if (!empty($postStr)){
    
            $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
            $fromUsername = $postObj->FromUserName;
            $toUsername = $postObj->ToUserName;
            $type = $postObj->MsgType;
            $customrevent = $postObj->Event;
            $latitude = $postObj->Location_X;
            $longitude = $postObj->Location_Y;
            $keyword = trim($postObj->Content);
            $time = time();
            $textTpl = "xml>
                  ToUserName>![CDATA[%s]]>/ToUserName>
                  FromUserName>![CDATA[%s]]>/FromUserName>
                  CreateTime>%s/CreateTime>
                  MsgType>![CDATA[%s]]>/MsgType>
                  Content>![CDATA[%s]]>/Content>
                  FuncFlag>0/FuncFlag>
                  /xml>";       
            switch ($type)
          {  case "event";
            if ($customrevent=="subscribe")
              {$contentStr = '';}
            break;
            case "image";
            $contentStr = "你的图片很棒!";
            break;
            case "location";
            $disurl="http://maps.googleapis.com/maps/api/distancematrix/xml?origins={$latitude},{$longitude}destinations=23.355164,116.681889mode=walkinglanguage=zh-CNsensor=false";
          $apistr=file_get_contents($disurl);
          $apiobj=simplexml_load_string($apistr);
          $disobj=$apiobj->row->element->distance->text;
          $durobj=$apiobj->row->element->duration->text;
          $contentStr = "你离我公司约{$disobj}公里,步行约{$durobj}";
    
            break;
            case "link" ;
            $contentStr = "你的链接有病毒吧!";
            break;
            case "text";
            $weatherurl="http://api.map.baidu.com/telematics/v2/weather?location={$keyword}ak=1a3cde429f38434f1811a75e1a90310c";
             $apistr=file_get_contents($weatherurl);
             $apiobj=simplexml_load_string($apistr);
             $placeobj=$apiobj->currentCity;//读取城市
             $todayobj=$apiobj->results->result[0]->date;//读取星期
             $weatherobj=$apiobj->results->result[0]->weather;//读取天气
             $windobj=$apiobj->results->result[0]->wind;//读取风力
             $temobj=$apiobj->results->result[0]->temperature;//读取温度
             $contentStr = "{$placeobj}{$todayobj}天气{$weatherobj},风力{$windobj},温度{$temobj}";
             break;          
          default;
          $contentStr ="此项功能尚未开发";  
          }
            $msgType="text";
            $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
            echo $resultStr;
    
    
        }else {
          echo "";
          exit;
        }
      }
    
      private function checkSignature()
      {
        $signature = $_GET["signature"];
        $timestamp = $_GET["timestamp"];
        $nonce = $_GET["nonce"];  
    
        $token = TOKEN;
        $tmpArr = array($token, $timestamp, $nonce);
        sort($tmpArr);
        $tmpStr = implode( $tmpArr );
        $tmpStr = sha1( $tmpStr );
    
        if( $tmpStr == $signature ){
          return true;
        }else{
          return false;
        }
      }
    }
    
    ?>

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    您可能感兴趣的文章:
    • 微信公众号开发之获取位置信息php代码
    • PHP微信开发之根据用户回复关键词\位置返回附近信息
    上一篇:php微信开发之图片回复功能
    下一篇:thinkPHP框架动态配置用法实例分析
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    php微信开发之谷歌测距 php,微信,开,发之,谷歌,测距,