Maison > Applet WeChat > Développement WeChat > Explication détaillée du code de fonction de transfert de bus développé par WeChat

Explication détaillée du code de fonction de transfert de bus développé par WeChat

Y2J
Libérer: 2017-05-13 14:57:14
original
2363 Les gens l'ont consulté

1) Application API
2) Appel API
3) [b] Affichage de l'effet[/b]
4) Requête précise
------------ -------------------------------------------------- ------------
1) Application API

Aibang fournit une API d'interface de requête, vous devez demander la clé www.aibang.com

Le numéro des requêtes sont limitées , 2013-12-4 Jusqu'à 1 000 fois/10 fois par jour

Returnjsondata

Fournir une description des données

Fournir fichier de démonstration

2) Appel API

Après avoir appelé l'API pour obtenir les données, vous pouvez les sortir dans votre propre format

/*
     aibang's api return josn data
     
     d_eng (sh109419@163.com)
     2013-12-4
 */
 
define("APP_KEY", "xx00ac396d6d75e8681fc8380060c5b2");
include_once "ABClient.php";
 
//header("Content-Type:text/html; charset=utf-8"); 
 
function bustransfer($city,$start,$end) {
    $client = new ABClient(APP_KEY);
    list($code, $arr) = $client->getBusTransfer($city, array("start_addr" =>$start, "end_addr"=>$end));
    if ($code<>200){
        return false;
    }
     
    $ret ="";
    $buses = $arr[buses][bus];
    // show the top 3 records
    $ret = $start ."-->".$end."\n";
    $count = 1;
    foreach ($buses as $bus) {
        if ($count > 3) break;
 
        $segments =$bus[segments][segment];
         $ret .= "<方案".$count++.">\n";
        // get line name and remove remark
        $linename = "";
        foreach($segments as $segment) {
            if (!empty($linename)) $linename .= &#39;--&#39; ;
            $linename  .= shortlinename($segment[line_name]);
        }
        $ret .= $linename . "\n" ;
        $total = sprintf("%d分钟 %d米 步行%d米",$bus[time],$bus[dist],$bus[foot_dist]);
        $ret .= $total . "\n" ;
        // detail
        $from = sprintf("从 %s ",$start);
        $ret .= $from;
        foreach($segments as $segment) {
            if ($segment[foot_dist] > 0) {
                $segfoot = sprintf("步行%d米 到达 %s",$segment[foot_dist],$segment[start_stat]);
                $ret .= $segfoot . "\n" ;
            }
            $stats = substr_count($segment[stats],&#39;;&#39;);
            $line = sprintf("乘坐 %s(%d站) 到达 %s",shortlinename($segment[line_name]),$stats,$segment[end_stat]);
            $ret .= $line . "\n" ;
        }
        if ($bus[last_foot_dist] > 0) {
            $lastfoot = sprintf("步行%d米 到达 %s",$bus[last_foot_dist],$end);
            $ret .= $lastfoot;
        }
    }
    return $ret;
}
 
function shortlinename($linename){
    return substr($linename,0,strpos($linename,&#39;(&#39;));
}
 
$a=bustransfer("南昌","老福山","青山路口");
var_dump($a);
Copier après la connexion

3) Affichage des effets

Explication détaillée du code de fonction de transfert de bus développé par WeChat

4) Requête précise

Dans la requête de bus, vous devez saisir le nom de la station de bus/métro

Si vous ne savez pas le nom exact de la station, vous n'obtiendrez souvent pas le résultat,

Sur la page Web, le système peut vous demander de sélectionner le bon arrêt de bus,

Explication détaillée du code de fonction de transfert de bus développé par WeChat

Cependant, il n'est pas pratique de faire cela sur WeChat

Le plan d'amélioration est le suivant :

Aibang dispose d'une API de requête de gare routière

Utilisez cette API pour trouver le stations à proximité des informations saisies par l'utilisateur et retirez la première comme station de transfert de bus

De cette façon, la probabilité de réussite de la recherche de transfert de bus augmente.

【Recommandations associées】

1. Recommandation spéciale : Téléchargez la version V0.1 de "php Programmer Toolbox"

2. Téléchargement du code source de la plateforme de compte public WeChat

3 Téléchargement gratuit du code source de vote WeChat

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal