国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Maison Applet WeChat Développement WeChat Le développement PHP WeChat renvoie des informations à proximité en fonction des mots-clés/emplacement de réponse de l'utilisateur

Le développement PHP WeChat renvoie des informations à proximité en fonction des mots-clés/emplacement de réponse de l'utilisateur

Mar 08, 2017 pm 03:55 PM

Cet article présente principalement en détail la mise en ?uvre simple du développement PHP WeChat pour renvoyer des informations à proximité en fonction de l'emplacement du mot-clé de réponse de l'utilisateur. Les amis intéressés peuvent s'y référer

Une fois que l'utilisateur a suivi le compte public WeChat, vous. peut répondre à la situation géographique de l'utilisateur (Tencent Map) au compte officiel, extraire la latitude et la longitude des informations de localisation et les convertir en latitude et longitude de Baidu. Ensuite, en fonction de la latitude et de la longitude, l'API de Baidu Map est appelée pour renvoyer des informations telles que ? restaurants ? et ? h?tels ? (peuvent être personnalisés) dans un rayon de 2 km. Lorsque vous appelez l'API de Baidu, vous devez obtenir apiKEY. Sinon, veuillez vous rendre au Baidu Developer Center pour vous inscrire et postuler.

Tout d'abord, testez les données renvoyées par l'interface avec un ensemble de latitude et de longitude?:

<?php

/**根據一組經緯度查找附近2公里以內的關鍵字**/

header(&#39;Content-type:text/html;charset=utf-8&#39;);

//--------第一步:轉換經緯度----
//參考鏈接:http://www.miracleart.cn/

$Location_X = 23.134521;
$Location_Y = 113.358803;

$url = "http://api.map.baidu.com/geoconv/v1/?coords=$Location_X,$Location_Y&from=3&to=5&ak=這里填寫你的apikey";

$res = file_get_contents($url);
$res = json_decode($res, true);

//用戶發(fā)送騰訊的soso地圖位置信息經過轉換之后,得到百度地圖的經緯度
$x = $res[&#39;result&#39;][0][&#39;x&#39;];
$y = $res[&#39;result&#39;][0][&#39;y&#39;];

//---------第二步:根據經緯度和關鍵詞獲得附近的信息----------
//參考鏈接:http://www.miracleart.cn/
$url = "http://api.map.baidu.com/place/v2/search?ak=這里填寫你的apikey&output=json&query=" . urlencode("飯店") . "&page_size=10&page_num=0&scope=2&location=$x,$y&radius=2000";
$res = file_get_contents($url);
$res = json_decode($res, true);

// echo "<pre class="brush:php;toolbar:false">";
// print_r($res);
// echo "
"; //提取所需的信息 foreach($res['results'] as $k=>$v){ $arr[$k]['name'] = $v['name']; $arr[$k]['address'] = $v['address']; $arr[$k]['img_url'] = 'http://misakaqnxt-public.stor.sinaapp.com/click.png'; $arr[$k]['detail_url'] = isset($v['detail_info']['detail_url'])?$v['detail_info']['detail_url']:''; } echo "
";
 print_r($arr);
 echo "
";

Données renvoyées

Si vous avez rempli la clé apikey correcte, les données ci-dessus doivent être renvoyées. Suivant?: Dans le code de la plate-forme d'interface WeChat (un script PHP placé dans votre espace de nom de domaine public), déterminez le type de message, obtenez la latitude et la longitude, appelez l'API Baidu Map et assemblez le XML pour le renvoyer. Puisqu'il n'y a pas d'image miniature du ? restaurant ? dans les données renvoyées par l'API Baidu, j'ai utilisé une image de mon propre site Web.
Afin de permettre aux utilisateurs de personnaliser la recherche de "restaurants" à proximité
ou "h?tels" et d'autres informations, les utilisateurs peuvent d'abord répondre "Recherche de XX", puis extraire XX, le mettre dans la session et attendre pour que l'utilisateur réponde avec l'emplacement géographique Supprimez la session lorsqu'il est en position. Mais après avoir configuré la session, je n'ai pas pu la supprimer. J'utilise donc ici le service KVDB de Sina Cloud. Bien s?r, vous pouvez également utiliser des méthodes de mise en cache telles que Memcache ou Redis.

$which = mb_substr($keyword, 0, 2, 'UTF-8');

elseif($which == "尋找"){

        $find = str_replace($which, "", $keyword);

        //調用新浪云的KVDB服務
        $kv = new SaeKV();
        $kv->init();
        $kv->set(&#39;find&#39;, $find);

        $contentStr = "選擇表情旁邊的&#39;+&#39;,發(fā)送位置,即可查找你要找的地方";
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgtype, $contentStr);
        echo $resultStr;
        exit();

      }

 elseif($postObj->MsgType == &#39;location&#39;){
          /**
           * 如果是收到了地理位置消息,則返回附近的飯店
           */

          //--------第一步:轉換經緯度-------
          //參考鏈接:http://www.miracleart.cn/
          $Location_X = $postObj->Location_X;
          $Location_Y = $postObj->Location_Y;
          
          $url = "http://api.map.baidu.com/geoconv/v1/?coords=$Location_X,$Location_Y&from=3&to=5&ak=這里填寫你的apikey";
          
          $res = file_get_contents($url);
          $res = json_decode($res, true);

          //用戶發(fā)送騰訊的soso地圖位置信息經過轉換之后,得到百度地圖的經緯度
          $x = $res[&#39;result&#39;][0][&#39;x&#39;];
          $y = $res[&#39;result&#39;][0][&#39;y&#39;];

          //---------第二步:根據經緯度和關鍵詞獲得附近的信息----------
          $kv = new SaeKV();
          // 初始化KVClient對象
          $kv->init();
          
          $url = "http://api.map.baidu.com/place/v2/search?ak=這里填寫你的apikey&output=json&query=" . urlencode($kv->get(&#39;find&#39;)) . "&page_size=10&page_num=0&scope=2&location=$x,$y&radius=2000";
          $res = file_get_contents($url);
          $res = json_decode($res, true);
          
          //提取信息
          foreach($res[&#39;results&#39;] as $k=>$v){
            $arr[$k][&#39;name&#39;] = $v[&#39;name&#39;];
            $arr[$k][&#39;address&#39;] = $v[&#39;address&#39;];
            $arr[$k][&#39;img_url&#39;] = &#39;http://misakaqnxt-public.stor.sinaapp.com/click.png&#39;;
            $arr[$k][&#39;detail_url&#39;] = isset($v[&#39;detail_info&#39;][&#39;detail_url&#39;])?$v[&#39;detail_info&#39;][&#39;detail_url&#39;]:&#39;&#39;;
          }

          //--------第三步:拼接XML字符串--------
          $head = "<xml>
          <ToUserName><![CDATA[%s]]></ToUserName>
          <FromUserName><![CDATA[%s]]></FromUserName>
          <CreateTime>%s</CreateTime>
          <MsgType><![CDATA[news]]></MsgType>
          <ArticleCount>10</ArticleCount>
          <Articles>";

          $items = "";
          foreach($arr as $v){
            $items .= "<item>
            <Title><![CDATA[" . $v[&#39;name&#39;] .":". $v[&#39;address&#39;] . "]]></Title>
            <Description><![CDATA[" . $v[&#39;address&#39;] . "]]></Description>
            <PicUrl><![CDATA[" . $v[&#39;img_url&#39;] . "]]></PicUrl>
            <Url><![CDATA[" . $v[&#39;detail_url&#39;] . "]]></Url>
            </item>";
          }

          $foot = "</Articles></xml>";

          $res = $head . $items . $foot;
          
          $resultStr = sprintf($res, $fromUsername, $toUsername, $time);
          echo $resultStr;
          exit();


}

Si vous ne comprenez pas comment utiliser le code, vous pouvez vous référer à mon article précédent : Réponse textuelle simple Requête sur les articles sélectionnés par WeChat

Une fois que les utilisateurs ont suivi le compte officiel, répondu pour rechercher un h?tel, puis répondu avec l'emplacement, ils pourront obtenir des informations sur les h?tels à proximité.

Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefa?on, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1502
276