【微信公众平台开发】之三:LBS的开发

江枫思渺然 提交于 2019-12-07 03:56:25

1、相关资料

*基于SAE和百度LBS微信公众平台周边搜索的实现{Java}

*当有道翻译遇到微信公众平台{有道翻译API、百度LBS}

*百度地图车联网API文档(http://developer.baidu.com/map/index.php?title=car

*百度地图服务接口包括

LBS云 Web服务API 静态图API 全景静态图API 车联网API URI API

对微信平台来讲,如果用户发送的地理位置信息,那我们就可以得到经纬度,再通过API即可得到用户当前地理位置信息。

其中车联网API中的反Geocoding、测距、天气查询、周边检索以及URI API中的导航功能比较常用在微信中。

2、反Geocoding

点击文档的官方链接即发现该API可以根据某个经纬度返回一个xml文件,其中results标签中间包含10组<result>标签,分别代表离指定经纬度最近的10个地点。

所以通过如下语句可得到最近地点

//LBS

$lbsKey='你申请的key';

$demoUrl="http://api.map.baidu.com/telematics/v3/reverseGeocoding?location=116.3017193083,40.050743859593&coord_type=gcj02&ak={$lbsKey}";

      $apiStr=file_get_contents($demoUrl);

      $apiObj=simplexml_load_string($apiStr);

      $addStr=$apiObj->results->result[0]->name;

      $contentStr="你在{$addStr}附近";

      echo $contentStr;

直接运行没问题那将$contentStr放到微信回复语句中也不是难事。

先赋值

//经纬度
    $weiDu = $postObj->Location_X;
    $jingDu= $postObj->Location_Y;

再替换demoUrl中location={$jingDu},{$weiDu}即可

【注意】

*demoUrl链接代码中间一定不要换行,否则该链接是没用的,addStr为空;

*百度地图API控制台(http://lbsyun.baidu.com/apiconsole/key?application=key)中的内容要仔细看。

创建应用时候按照提示在“IP白名单”一栏填写0.0.0.0/0;{如果之前在百度开发者中心创建过应用,那此控制台的应用列表就会有这个应用,对应一个ak,不要直接使用这个ak,先在设置中修改“IP白名单”,默认内容居然是127.0.0.1/32,您只允许私有地址访问那还用个毛线啊,在此鄙视一下百度}

3、补充

其他API使用方法都大同小异。调用API并不是微信平台开发的全部,有兴趣的同学可以看看三峡大学微信公众号(http://www.xiaojinke.com/1657.html),此文PPT演示、公众号功能都很强大,而且文章最晚在2013年6月就写好了,本渣渣在此膜拜大神。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!