QT下,基于位置服务能力平台(LBS)的API测试
2017-03-22 16:22
597 查看
M6311是中国移动自主研发的GSM模组,支持贴片SIM卡,具有小尺寸、低功耗、抗干扰能力强的特点,可向电力、石油、水务、燃气、金融等行业的远程无线抄表行业客户提供可靠的M2M通信功能。同时M6311还支持java虚拟机,客户可以在M6311上通过调用提供的接口函数,进行应用开发,实现非常丰富的功能。
位置定位能力服务(Location Based Service,简称LBS)一般应用于手机用户、终端用户,基于位置的服务,通过运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息,为用户提供相应服务的一种增值业务。作为物联网应用的一项重要辅助功能,LBS能弥补GPS无法覆盖的地区,提供给用户更方便快捷的定位服务。目前中移物联网LBS提供基站定位接口、混合定位接口、地图纠偏接口。
(登录网站 http://lbs.heclouds.com/ ,注册后获取APIKEY,调用API时会用到该APIKEY,用于鉴权)
测试APIKEY: XXXXXXXXXXXXXXXXXX
在http://lbs.heclouds.com/api/process.jsp上可以看到关于API接口的函数
在此我仅测试了关于基站定位接口的方式,别的可以自行测试
基站定位接口:http://lbs.heclouds.com/api/gsmlbs.jsp ,
传递参数和返回信息如图
报文形式:
GET http://api.lbs.heclouds.com/api/gsmlbs?mcc=460&mnc=0&cell=30071&lac=13153&apikey=KEY
HTTP/1.1
Host: api.lbs.heclouds.com
混合定位接口: http://lbs.heclouds.com/api/lbs.jsp ,下图为参数说明
在qt内的使用代码如下
.h文件
.c文件
这里使用的get方式来获取,也可以用post方式,要注意的是,在用混合方式的时候由于有很多地方需要在字符串中使用转义字符\,所以要注意
post方式需要设置setHeader,然后还有格式上要注意,具体的区别自己百度吧。
运行如下
位置定位能力服务(Location Based Service,简称LBS)一般应用于手机用户、终端用户,基于位置的服务,通过运营商的无线电通讯网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息,为用户提供相应服务的一种增值业务。作为物联网应用的一项重要辅助功能,LBS能弥补GPS无法覆盖的地区,提供给用户更方便快捷的定位服务。目前中移物联网LBS提供基站定位接口、混合定位接口、地图纠偏接口。
(登录网站 http://lbs.heclouds.com/ ,注册后获取APIKEY,调用API时会用到该APIKEY,用于鉴权)
测试APIKEY: XXXXXXXXXXXXXXXXXX
在http://lbs.heclouds.com/api/process.jsp上可以看到关于API接口的函数
在此我仅测试了关于基站定位接口的方式,别的可以自行测试
基站定位接口:http://lbs.heclouds.com/api/gsmlbs.jsp ,
传递参数和返回信息如图
报文形式:
GET http://api.lbs.heclouds.com/api/gsmlbs?mcc=460&mnc=0&cell=30071&lac=13153&apikey=KEY
HTTP/1.1
Host: api.lbs.heclouds.com
混合定位接口: http://lbs.heclouds.com/api/lbs.jsp ,下图为参数说明
在qt内的使用代码如下
.h文件
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QNetworkAccessManager> #include <QFile> #include <QDebug> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private: Ui::Widget *ui; QFile *file; QNetworkAccessManager *accessManager; QNetworkRequest *request; QNetworkReply *reply; void httpDownload(); private slots: void replyFinished(QNetworkReply *reply); }; #endif // WIDGET_H
.c文件
#include "widget.h" #include "ui_widget.h" #include <QUrl> #include <QNetworkAccessManager> #include <QNetworkRequest> #include <QNetworkReply> #include <QByteArray> Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { ui->setupUi(this); httpDownload(); } Widget::~Widget() { delete ui; if (request) delete request; } void Widget::httpDownload(){ QString tmp = "http://api.lbs.heclouds.com/api/gsmlbs?mcc=460&mnc=0&cell=30071&lac=13153&apikey=你的APIKEY"; //基站定位接口模式 //QString tmp = "http://api.lbs.heclouds.com/api/lbs?celltowers=[{\"mcc\":\"460\",\"mnc\":\"0\",\"lac\":\"13153\",\"cell\":\"30231\"}]&type=0&apikey=你的APIKEY";//混合定位接口 QUrl url(tmp); accessManager=new QNetworkAccessManager(this); request = new QNetworkRequest(url); connect(accessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*))); reply = accessManager->get(*request); // qDebug() << reply; } void Widget::replyFinished(QNetworkReply *reply){ QString re = QString(reply->readAll()); // qDebug()<< reply->readAll(); ui->textBrowser->setText(re); reply->deleteLater();//要删除reply,但是不能在repyfinished里直接delete,要调用deletelater; }
这里使用的get方式来获取,也可以用post方式,要注意的是,在用混合方式的时候由于有很多地方需要在字符串中使用转义字符\,所以要注意
post方式需要设置setHeader,然后还有格式上要注意,具体的区别自己百度吧。
运行如下
相关文章推荐
- 基于地理位置服务(LBS)技术平台
- 基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端
- (转)基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端
- 基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端
- 基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端
- 基于即时通信和LBS技术的位置感知服务(三):搭建Openfire服务器+测试2款IM客户端
- 基于即时通信和LBS技术的位置感知服务(一)
- 基于即时通信和LBS技术的位置感知服务(二)
- [转载]浅谈LBS(基于位置的服务)
- LBS-基于位置服务(Location Based Service)
- 基于即时通信和LBS技术的位置感知服务(四):Location-Aware-Instant:开发即时位置感知的Android客户端
- LBS位置服务都有那些应用? LBS(Location Based Service),中文称为基于位置服务的应用
- 《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之31---LBS基于BREW的位置服务
- [转载]推荐8个iPhone的基于地理位置服务(LBS)软件
- (android地图开发) 基于百度Lbs服务定位用户的当前位置
- Android 深入研究LBS(基于位置的服务)
- 浅谈LBS(基于位置的服务)
- LBS基于BREW的位置服务
- 基于位置的服务LBS的中国困局
- LBS(基于位置的服务)用户数据挖掘