首頁 > 後端開發 > php教程 > 微信,问题。微信公众平台接口获取用户发送的地理位置xml

微信,问题。微信公众平台接口获取用户发送的地理位置xml

WBOY
發布: 2016-06-23 14:00:45
原創
1280 人瀏覽過

我要实现的功能就是,当用户向我的公众平台发送一个当前位置,我要在卫星API中获取这个位置的经度纬度(x,y)然后通过这个经纬度接百度地图接口查询这个位置附近的饭店有哪些。

说白了,就是食神摇摇的那个功能。   这个我遇到问题了。 

先贴上,用户向公众平台发送的位置的xml

<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> </xml> 
登入後複製


ToUserName 消息接收方微信号,一般为公众平台账号微信号
FromUserName 消息发送方微信号
CreateTime 消息创建时间
MsgType 消息类型,地理位置为location
Location_X 地理位置纬度
Location_Y 地理位置经度
Scale 地图缩放大小
Label 地理位置信息


我如何在微信API中获取经纬度? 如何在百度地图中通过该经纬度查询附近的饭店? 希望有大神解答,有demo更好。非常感谢


回复讨论(解决方案)

我最近也在做跟你类似功能的一个项目,同样使用微信接口,根据用户向我公众平台发送当前位置信息后搜索当前位置有哪些楼盘(这些楼盘的坐标点事先已经存储在我本地的数据库中)。我是通过微信发过来的Location_X和Location_Y来定位的。这个就是谷歌地图的坐标点,虽然有点偏移,但大概位置差不多。目前我碰到的问题是根据这个中心点如何去搜索周边范围(比如500M)内的楼盘信息,虽然通过去遍历每个楼盘和我这个中心点可以计算出距离,但是效率太低。我通过微信提供的这个XML中的Label地理位置信息来加以提炼,但是为什么每次取到的都是空的?

一个个都这么牛X。

我如何在微信API中获取经纬度?

这个玩意我想在微信的API文档里肯定有吧?你上面这个返回的XML就是结果吗?那就读XML数据噻,这个不会?

读取xml数据并获取经纬度坐标不难,问题是他这个xml中为什么给的lable字段是空的,不理解

读取xml数据并获取经纬度坐标不难,问题是他这个xml中为什么给的lable字段是空的,不理解

这个功能我自己研究了一下午已经做好了,而且功能已经实现。 这个xml里面的 lable 确实是空的,但是我是用的经纬度来获取当前位置的指定关键词的。 用的事百度地图的API。

百度地图的API不是只能用js脚本来获取的吗?那么微信post过来的时候,你是如何调用百度地图API来执行js的?

百度地图的API不是只能用js脚本来获取的吗?那么微信post过来的时候,你是如何调用百度地图API来执行js的?

不需要执行js,我调用的接口直接在url上加参数,然后获取返回值,将所需数据循环出来即可!


引用 8 楼 jikl1982 的回复:百度地图的API不是只能用js脚本来获取的吗?那么微信post过来的时候,你是如何调用百度地图API来执行js的?

不需要执行js,我调用的接口直接在url上加参数,然后获取返回值,将所需数据循环出来即可!

调用的接口的url上加什么参数?通过微信中传过来的xy如何到百度api中获取到想要的数据呢?不是很理解你说的循环是什么循环什么数据,最能能贴下demo看下,谢谢。

全是大牛啊,

请去点评网找相关的API

请去点评网找相关的API

大众点评? 我看了下 它的接口3月31号会全部取消服务!

我最近也在搞微信的经纬度,也没有办法通过经纬度获得地理位置,soso api也只提供了js版的api
大牛写你们是怎么实现的啊?

我最近也在做跟你类似功能的一个项目,同样使用微信接口,根据用户向我公众平台发送当前位置信息后搜索当前位置有哪些楼盘(这些楼盘的坐标点事先已经存储在我本地的数据库中)。我是通过微信发过来的Location_X和Location_Y来定位的。这个就是谷歌地图的坐标点,虽然有点偏移,但大概位置差不多。目前我碰到的问题是根据这个中心点如何去搜索周边范围(比如500M)内的楼盘信息…… 你的微信叫什么啊 去看看

同关注该问题

可以先根据经纬度获取所在城市,再从数据库帅选出该城市的数据,这样的话效率应该能提升很多

这应该有个算法之类的东西来实现吧

我也是获取不到lable信息,请问现在问题解决了吗。、

拿到微信传过来的坐标 然后访问百度地图的API 有个参数是pois设置为1会显示附近

同求,大侠们,怎么用js通过微信api获取地理位置啊,

我也遇到这个问题了,lable是null,调用百度API,没有地理位置信息 只有经纬度 不行啊,有没有大神给解答下,楼主的问题解决了没啊,关键词指定的话 就没意思了啊

lable是null

你的这个问题如何解决的呢?

都是牛牛啊!

我已经做出来 查出附近商户 但是不能显示附近商户的图片! 还请各位大牛告知,谢谢!

提取谷歌坐标转百度坐标的javascript API用于PHP等服务端语言

http://blog.csdn.net/longxuu/article/details/10063003
登入後複製

我已经做出来 查出附近商户 但是不能显示附近商户的图片! 还请各位大牛告知,谢谢!
查看新版百度地图API属性,应该有这个属性。  值得注意的是,有图片的商家只是少数,大多数都还没有详细信息。

自愧不如啊!!!

大神,我有个服务号,也想实现和你差不多的功能,就是发送经纬度然后调用自己的数据库,但在这方面比较薄弱,大神可以教教我么,真的很想学!

自己的代码片段以供参考:
 if (!empty($postStr)){
                
                $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
                $fromUsername = $postObj->FromUserName;
                $toUsername = $postObj->ToUserName;
              $type=$postObj->MsgType;
              $customrevent=$postObj->Event;
              $latitude = $postObj->Location_X;
              $longitude = $postObj->Location_Y;
                $keyword = trim($postObj->Content);
                $time = time();
                $textTpl = "
              
              
              %s
              
              
              0
              
"; 
--------------------------------------------------------------------------
case "location":
           
$contentStr="你的纬度是{$latitude},你的经度是{$longitude},我已经锁定!准备发射爱国者捣蛋!";
        
break;

有问题可以Q我:30339245

大神,我想在自定义菜单里面添加一个【定位】,当微信用户点击这个菜单时,才主动获取他的地理位置信息。

读取xml数据并获取经纬度坐标不难,问题是他这个xml中为什么给的lable字段是空的,不理解

label 标签为空 可能是因为 当你要发送 位置的时候  弹出地图的时候  你未等人家 把你地址读取好之后  就点击了 发送 ,读取位置会比较慢  最好等个 1、 2 分钟 让 他显示出你的具体地址后 再发送 就可以了

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板