微信公众号开发之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.实 ...
随机推荐
- 轻量级的移动 webapp 框架Jingle
一大早爬起来,发现这样的一个东东,国产,感觉实用性很强,试着用用. 1.28补记: 试着用jingle做了一个网站的移动版,感觉如果在布局上要求不高的话 - 目前支持的布局只有list,还是挺不错,做 ...
- spring的懒加载
在spring的IOC容器中,可以通过设置<beans default-lazy-init="XXX"></beans>来设置是否为懒加载模式,懒加载的意思 ...
- java多线程(二)——锁机制synchronized(同步方法)
synchronized Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码.当两个并发线程访问同一个对象object中 ...
- CSS中background背景色的作用范围
在div中设置背景色:当border宽度很大时就要考虑一个问题,那就是背景的作用范围,是包括边框呢?还是不包括呢?很明显,又到浏览器产生分歧的时候了. 在IE中背景色的作用范围为:content+pa ...
- JavaScript基础11——js的全局函数
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Vue数据绑定
gitHub地址:https://github.com/lily1010/vue_learn/tree/master/lesson04 一 双括号用来数据绑定 (1)写法一: {{message}}, ...
- vIDC v2.0 强大的端口转发神器使用总结-开放内网tfs代码服务
vIDC2.0 端口映射工具,最近在公司闲来无事,想自己整个tfs来管理自己的研究代码. 本来是想用微软Visual Studio提供的免费tfs,但是无奈速度太慢.他们的服务器在美国,中国也没有代理 ...
- C语言接口与实现实例
一个模块有两部分组成:接口和实现.接口指明模块要做什么,它声明了使用该模块的代码可用的标识符.类型和例程,实现指明模块是如何完成其接口声明的目标的,一个给定的模块通常只有一个接口,但是可能会有许多种实 ...
- [转]一些NSArray,NSDictionary,NSSet相关的算法知识
iOS编程当中的几个集合类:NSArray,NSDictionary,NSSet以及对应的Mutable版本,应该所有人都用过.只是简单使用的话,相信没人会用错,但要做到高效(时间复杂度)精确(业务准 ...
- iOS 内存管理(一)之基础知识介绍
1,什么是引用计数 所有OC对象都有一个计数器,叫做引用计数,引用计数就是目前有几个对象在使用该对象(持有该对象的引用): 2,什么是对象所有权 A对象拥有B对象的引用,A对象拥有B对象的所有权: 3 ...