作者:赵lamarta | 来源:互联网 | 2023-05-17 20:44
介绍:导航功能主要是调用百度地图的api,发送用户当前位置,然后根据和目的地的经纬度,在地图上显示用户到目的地睇线路图。
-
-
- define("TOKEN", "wechatnow");
- $wechatObj = new wechatCallbackapiTest();
- $wechatObj->responseMsg();
-
- class wechatCallbackapiTest
- {
- public function valid()
- {
- $echoStr = $_GET["echostr"];
-
-
- if($this->checkSignature()){
- echo $echoStr;
- exit;
- }
- }
-
- public function responseMsg()
- {
-
- $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
-
-
- if (!empty($postStr)){
-
- $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
- $fromUsername = $postObj->FromUserName;
- $toUsername = $postObj->ToUserName;
- $MsgType=$postObj->MsgType;
- $latitude=$postObj->Location_X;
- $longitude =$postObj->Location_Y;
- $time = time();
- $textTpl = "
-
-
- %s
-
- 1
-
-
-
-
-
-
-
-
-
- 0
- ";
- if($MsgType=="location")
-
- {
-
- $url="http://api.map.baidu.com/direction?origin=latlng:{$latitude},{$longitude}|name:你的位置&destination=latlng:23.14123802754,113.34233164787202|name:我的学校&mode=transit®ion=广州&output=html&src=yourCompanyName|yourAppName";//调用百度地图的api
- $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time,$url);
- echo $resultStr;
- }
-
- }
- }
-
- 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;
- }
- }
- }
-
- ?>
源文地址:http://blog.csdn.net/zhihang527548263/article/details/12684813