zoukankan      html  css  js  c++  java
  • LBS开发

      功能:用户发送自动的位置,返回周围的厕所信息

      思路:根据用户的经纬度信息,调用百度地图的api,查询周围的厕所位置并且返回!

        步骤:进入百度地图官网注册账号,选择web api接入

    我们先看开发者文档

    <xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>1351776360</CreateTime>
    <MsgType><![CDATA[location]]></MsgType>
    <Location_X>23.134521</Location_X>
    <Location_Y>113.358803</Location_Y>
    <Scale>20</Scale>
    <Label><![CDATA[位置信息]]></Label>
    <MsgId>1234567890123456</MsgId>
    </xml>

    参数描述
    ToUserName 开发者微信号
    FromUserName 发送方帐号(一个OpenID)
    CreateTime 消息创建时间 (整型)
    MsgType location
    Location_X 地理位置维度
    Location_Y 地理位置经度
    Scale 地图缩放大小
    Label 地理位置信息
    MsgId 消息id,64位整型

     

    //首先判断用户是否发一个位置信息,回复给用户厕所的位置信息
    if($msgType == "location"){
    //在百度地图开发者中心,自己去注册,利用的自己的ak,json格式,经纬度是用户发送过来的
    //要用post接收
    $url = 'http://api.map.baidu.com/telematics/v3/local?location='.$postObj->Location_Y .','.$postObj->Location_X .'&keyWord=%E5%8E%95%E6%
    //因为是json格式,所以转化成数组,用file_get_contents请求url
    $arr = json_decode((file_get_contents($url)),true);
    //循环显示pointlist数组的数据 name,address,距离
    foreach($arr['pointList'] as $k => $v){
    $contentStr .= $v['name'].$v['address'] .'距离您有' .$v['distance'] . "米
    ";
    } $
    msgType = 'text';
    $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
    echo $resultStr;
    }

    成功返回!


    成功!
  • 相关阅读:
    python中list的一种取值方式切片
    python之字典(Dictionary)
    表示数字
    自动收售货系统
    明明的随机数
    自守数
    等差数列
    计算字符个数
    字符统计
    Redraimen的走法
  • 原文地址:https://www.cnblogs.com/healy/p/6735885.html
Copyright © 2011-2022 走看看