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月就写好了,本渣渣在此膜拜大神。
来源:oschina
链接:https://my.oschina.net/u/576429/blog/317701