当前位置:首页 > PHP教程 > php高级应用 > 列表

php微信公众开发之获取周边酒店信息的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-04 15:25:49 浏览: 评论:0 

这篇文章主要介绍了php微信公众开发之获取周边酒店信息的方法,涉及针对微信公众平台关于地理信息的应用技巧,具有一定的参考借鉴价值,需要的朋友可以参考下

本文实例讲述了php微信公众开发之获取周边酒店信息的方法。分享给大家供大家参考。具体分析如下:

关注微信公众之后发送回复地理位置信息,即可回复周边附近的酒店信息列表,下面我就来给各位介绍利用php是怎么实现这个功能,希望全子对大家有帮助.代码如下:

  1. <?php 
  2.  //将提交过来的信息接收 
  3. $signature = $_GET['signature']; 
  4.  $timestamp = $_GET['timestamp']; 
  5.  $nonce = $_GET['nonce']; 
  6.  $echostr = $_GET['echostr']; 
  7.  $token = "jb51.net"
  8.  //判断接入网站 
  9.  
  10.  //进行字典排序 
  11.  $arr = array($token,$timestamp,$nonce); 
  12.  
  13.  sort($arr); 
  14.  
  15.  //完成字符串的拼接和sha1加密 
  16.  $result = sha1(join($arr)); 
  17.  //判断生成的字符串和$signature是否相等,如果相等,直接输出$echostr,这样网站接入成功 
  18.  if($result==$signature){ 
  19.  echo $echostr
  20.  } 
  21.  
  22.  //接收微信公众账号接收到的信息 
  23.  $poststr = $GLOBALS["HTTP_RAW_POST_DATA"]; 
  24.  
  25.  $xmlObj = simplexml_load_string($poststr,'SimpleXMLElement',LIBXML_NOCDATA); 
  26.  $ToUserName = $xmlObj->ToUserName; 
  27.  $FromUserName = $xmlObj->FromUserName; 
  28.  $CreateTime = $xmlObj->CreateTime; 
  29.  $MsgType = $xmlObj->MsgType; 
  30.  $Content = $xmlObj->Content; 
  31.  
  32.  if($MsgType=='location'){ 
  33.  $Location_X = $xmlObj->Location_X; 
  34.  $Location_Y = $xmlObj->Location_Y; 
  35.  $Scale = $xmlObj->Scale; 
  36.  $Label = $xmlObj->Label; 
  37.  
  38.  $urlstr = "http://api.map.baidu.com/place/v2/search?&query=酒店&location=".$Location_X.",".$Location_Y."&radius=5000&output=json&ak=DESY8unmZnUlLB0mlowjuiRr";  //此处ak参数需要个人的百度开发序列号,自己去百度申请下就好了 
  39.  $jsonstr = file_get_contents($urlstr); 
  40.  $json = json_decode($jsonstr,true); 
  41.  
  42.  $pic_640 = "http://api.map.baidu.com/staticimage?width=640&height=320&center=".$Location_Y.",".$Location_X."&zoom=15&markers=".$Location_Y.",".$Location_X."&markerStyles=l,"
  43.  $pic_80 = "http://api.map.baidu.com/staticimage?width=80&height=80&center=".$Location_Y.",".$Location_X."&zoom=15&markers=".$Location_Y.",".$Location_X."&markerStyles=l,"
  44.  $p_640 = file_get_contents($pic_640); 
  45.  file_put_contents('./images/640_'.$FromUserName.".png",$p_640); 
  46.  $p_80 = file_get_contents($pic_80); 
  47.  file_put_contents('./images/80_'.$FromUserName.".png",$p_80); 
  48.  echo pic_send($json['results']); 
  49.  } 
  50.  function pic_send($arr){ 
  51.  global $ToUserName,$FromUserName
  52.  $str = "<xml> 
  53.  <ToUserName><![CDATA[".$FromUserName."]]></ToUserName> 
  54.  <FromUserName><![CDATA[".$ToUserName."]]></FromUserName> 
  55.  <CreateTime>".time()."</CreateTime> 
  56.  <MsgType><![CDATA[news]]></MsgType> 
  57.  <ArticleCount>".count($arr)."</ArticleCount> 
  58.  <Articles>"; 
  59.  foreach($arr as $k=>$v){ 
  60.  if($k==0){ 
  61.  $picurl = "http://www.phpfensi.com/weixin/images/640_".$FromUserName.".png"
  62.  }else
  63.  $picurl = "http://www.phpfensi.com/weixin/images/80_".$FromUserName.".png"
  64.  } 
  65.  $str .=" 
  66.  <item> 
  67.  <Title><![CDATA[".$v['name']." 地址:".$v['address']." 电话:".$v['telephone']."]]></Title> 
  68.  <Description><![CDATA[".$v['name']." 地址:".$v['address']." 电话:".$v['telephone']."]]></Description> 
  69.  <PicUrl><![CDATA[".$picurl."]]></PicUrl> 
  70.  <Url><![CDATA[http://api.map.baidu.com/place/detail?uid=".$v['uid']."&output=html&src=".$v['name']."&output=html]]></Url> 
  71.  </item>"; 
  72.  } 
  73.  $str .= "</Articles></xml>"
  74.  return $str
  75.  } 
  76. ?> 

希望本文所述对大家的php程序设计有所帮助。

Tags: php微信公众酒店

分享到: