微信公众号开发之LBS
百度地图Web服务api:http://lbsyun.baidu.com/index.php?title=webapi
1.测距
Route Matrix API v2.0:http://lbsyun.baidu.com/index.php?title=webapi/route-matrix-api-v2
case "location"://地理位置信息
$location_X = $postObj->Location_X;
$location_Y = $postObj->Location_Y;
$geourl="http://api.map.baidu.com/routematrix/v2/walking?output=xml"
."&origins=30.281341,120.209929&destinations={$location_X},{$location_Y}"
."&ak=f6UkU0QqVAhABUeGKSxZBCeb";
$apistr = file_get_contents($geourl);
$apiobj = simplexml_load_string($apistr);
$distanceobj = $apiobj->result->distance->value;//距离
$durationobj = $apiobj->result->duration->text;//时间
$label = $postObj->Label;
$contentStr = "你发送的地理位置是:"."\n".$label.",\n"."经度是:".$location_Y.",\n"."纬度是:".$location_X
.",\n"."你到我们店铺还需要步行{$distanceobj}米,大约需要{$durationobj}.";
break;
测距
2.导航
UPI API:http://lbsyun.baidu.com/index.php?title=uri/api/web(接口说明-》web端-》公交、驾车、步行导航)
case "location"://地理位置信息
$location_X = $postObj->Location_X;//纬度
$location_Y = $postObj->Location_Y;//经度
$geourl="http://api.map.baidu.com/routematrix/v2/walking?output=xml"
."&origins=30.281341,120.209929&destinations={$location_X},{$location_Y}"
."&ak=f6UkU0QqVAhABUeGKSxZBCeb";
$apistr = file_get_contents($geourl);
$apiobj = simplexml_load_string($apistr);
$distanceobj = $apiobj->result->distance->value;//距离
$durationobj = $apiobj->result->duration->text;//时间
$label = $postObj->Label;
$contentStr = "你发送的地理位置是:"."\n".$label.",\n"."经度是:".$location_Y.",\n"."纬度是:".$location_X
.",\n"."你到我们店铺还需要步行{$distanceobj}米,大约需要{$durationobj}."."\n"
."<a href=\"http://api.map.baidu.com/direction?origin=latlng:{$location_X},{$location_Y}"
."|name:{$label}&destination=latlng:30.281341,120.209929|name:艮山西路233号新东升市场"
."&mode=walking&output=html®ion=杭州&src=yourCompanyName|yourAppName\">步行导航</a>";
break;
步行导航
3.全景图
UPI API:http://lbsyun.baidu.com/index.php?title=uri/api/web(接口说明-》web端-》全景服务)
case "location"://地理位置信息
$location_X = $postObj->Location_X;//纬度
$location_Y = $postObj->Location_Y;//经度
$geourl="http://api.map.baidu.com/routematrix/v2/walking?output=xml"
."&origins=30.281341,120.209929&destinations={$location_X},{$location_Y}"
."&ak=f6UkU0QqVAhABUeGKSxZBCeb";
$apistr = file_get_contents($geourl);
$apiobj = simplexml_load_string($apistr);
$distanceobj = $apiobj->result->distance->value;//距离
$durationobj = $apiobj->result->duration->text;//时间
$label = $postObj->Label;
$contentStr = "你发送的地理位置是:"."\n".$label.",\n"."经度是:".$location_Y.",\n"."纬度是:".$location_X
.",\n"."你到我们店铺还需要步行{$distanceobj}米,大约需要{$durationobj}."."\n"
."<a href=\"http://api.map.baidu.com/direction?origin=latlng:{$location_X},{$location_Y}"
."|name:{$label}&destination=latlng:30.281341,120.209929|name:艮山西路233号新东升市场"
."&mode=walking&output=html®ion=杭州&src=yourCompanyName|yourAppName\">查看步行导航</a>"."\n"
."<a href=\"http://api.map.baidu.com/pano/?x={$location_Y}&y={$location_X}&lc=0&ak=f6UkU0QqVAhABUeGKSxZBCeb\">"
."查看你所在位置的全景图</a>";
break;
全景图
4.天气
车联网API:http://developer.baidu.com/map/wiki/index.php?title=car/api/weather(接口说明-》天气查询)
case "天气":
$weatherurl="http://api.map.baidu.com/telematics/v3/weather?location=杭州&ak=f6UkU0QqVAhABUeGKSxZBCeb";
$apistr = file_get_contents($weatherurl);
$apiobj = simplexml_load_string($apistr);
$placeobj = $apiobj->results->currentCity;//读取城市名
$todayobj = $apiobj->results->weather_data->date;//读取当前时间
$weatherobj = $apiobj->results->weather_data->weather;//读取天气
$windobj = $apiobj->results->weather_data->wind;//读取风力
$temobj = $apiobj->results->weather_data->temperature;//读取温度
$pm25obj = $apiobj->results->pm25;//读取pm2.5
$contentStr = "{$placeobj}{$todayobj},天气:{$weatherobj},风力:{$windobj},温度:{$temobj},pm2.5:{$pm25obj}.";
break;
天气
还可以通过地理位置返回天气信息。(case "location":略)
微信公众号开发之LBS的更多相关文章
- 微信公众号开发之VS远程调试
目录 (一)微信公众号开发之VS远程调试 (二)微信公众号开发之基础梳理 (三)微信公众号开发之自动消息回复和自定义菜单 前言 微信公众平台消息接口的工作原理大概可以这样理解:从用户端到公众号端一个流 ...
- 微信公众号开发之H5页面跳转到指定的小程序
前言: 最近公司有一个这样的需要,需要从我们在现有的公众号H5页面中加一个跳转到第三方小程序的按钮.之前只知道小程序之间是可以相互跳转的,今天查阅了下微信开发文档原来现在H5网页也支持小程序之间的跳转 ...
- 微信公众号开发之access_token的全局共用
最近做微信公众号开发,涉及到access_token的缓存问题(避免各自的应用都去取access_token,同时解决微信 appid和appsecret的安全问题),在通用权限管理系统底层增加了实现 ...
- 微信公众账号开发之N个坑(二)
上篇说到微信公众账号的几个坑,前面五个,已经说到菜单,宝宝继续往下赘述了.可惜,还不知道宝宝的宝宝到底是不是心疼宝宝呢,完了,我凌乱了... 回到正题,我们就不吐槽其他的了,上一篇说到微信的菜单了,那 ...
- 微信公众账号开发之N个坑(一)
我这人干活没有前奏,喜欢直接开始.完了,宝宝已经被你们带污了.. 微信公众账号开发文档,官方版(https://mp.weixin.qq.com/wiki),相信我,我已经无力吐槽写这个文档的人了,我 ...
- Java微信公众平台开发之OAuth2.0网页授权
根据官方文档点击查看在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的"开发 - 接口权限 - 网页服务 - 网页帐号 - 网页授权获取用户基本信息"的配置选项中,修 ...
- php开发微信公众号获取信息LBS
1.一般的公众号都可以在微信公众平台里面设置自定义菜单和自动回复消息,如果需要获取用户位置,则必须开启 服务器配置,当次功能开启后,微信公众平台的自定义菜单和自动回复则失效. 需要通过接口开发来实现微 ...
- 公众号开发之wx-tools+springboot应用实战-音乐爬虫推送[JAVA]
springboot+wx-tools实践!音乐爬虫推送公众号DEMOGitHub地址:wx-tools 最终DEMO源码地址: music_collector 先理一下大概的开发步骤: 1. 创建一 ...
- 微信订阅号开发之token验证后,自动回复消息功能做好,发送消息没有返回
相信很多人会跟我一样,token验证之后,发送消息给订阅号,没有消息返回. 以下,说一下我辛苦调试得到的解决办法: 首先,token验证: 自己写的token一直验证失败,找了好久,没有发现bug.实 ...
随机推荐
- [moka同学笔记]yii2.0缓存
1.控制器中CacheDemoController.php <?php /** * Created by PhpStorm. * User: moka同学 * Date: 2016/06/29 ...
- [moka同学摘录]Yii2.0开发初学者必看
想要了解更多YII,PHP方面内容,请关注本博客. 基础总结 1.修改默认控制器/方法 yii默认是site控制器,可以在web.php中设置$config中的'defaultRoute'='xxxx ...
- mongodb学习5--mongo的type类型
db.active.group({key:{id:1},cond:{cd:20160913,cid:"fgsdljsdv",aid:"54465"},reduc ...
- java响应微信用户信息(wechat4j)
你的微信应用程序接收到用户发送的消息事件之后,可以进行响应.wechat4j支持多种消息的响应. wechat4j响应消息的部分在wechat4j的入口WechatSupport.java中定义,直接 ...
- 在SqlServer中使用Try Catch(转)
今天在写sql中出现了!我想在sql使用trycatch吧! 哎..但是语法又记不住了! 那就清楚我们的google大师吧! 嘿,网上关于在sql中使用Try Catch的还有真不少的文章! 闲话就少 ...
- MyBatis入门(三)---多个参数
一.建立表 1.1.建立表,并插入数据 /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.6.27-log : Database - mybatis *** ...
- iOS开发中常用方法调用顺序
- Win10 下使用 ionic 框架开发 android 应用之搭载开发环境
转载请注明出处:http://www.cnblogs.com/titibili/p/5102035.html 谢谢~ 1.下载JDK并配置Java运行环境 http://www.oracle.com/ ...
- 记录Java的垃圾回收机制和几种引用
一.Java的垃圾回收机制 Java的垃圾回收机制(java garbage collection)是Java虚拟机提供的能力,用于在空闲时间以不定时的方式动态回收无任何引用的对象占据的堆内存空间. ...
- [QualityCenter]设置工作流脚本-缺陷字段值发生变化时的处理
需求:缺陷状态发生不同变化时,系统会的自动处理一些字段值的变化 在脚本编辑器找到Defects_Bug_FieldChange函数,然后填写以下代码: Sub Defects_Bug_FieldCha ...