《BREW进阶与精通——3G移动增值业务的运营、定制与开发》连载之52---BREW SDK 九大功能之位置服务

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/5456712

LBS(基于位置的服务)是相对复杂的服务,但BREW实现起来却很简单,只提供了一个IPosDet接口就能够取得与位置相关的多种信息。PosDetLBS的支持主要是由手机中的GPSone模块提供的。手机中的GPSone软件模块结构如图11-9所示。

11-9手机中的GPSone软件模块结构

手机定位的模式有3种:基于手机的定位模式(MS-Based),手机辅助的定位模式(MS-Assisted)和独立手机的定位模式(standalone),其间的区别如表11-2所示。

MS-Assisted

MS-Based

Standalone

每次定位都要发送辅助数据到手机上

只有需要的时候,才会周期性地发送辅助数据到手机上

根本不需要辅助数据

 

手机接收GPS的区域信息,然后发送到网络服务器(PDE),由服务器完成最终的位置计算

手机既能接收GPS的区域信息,也能够完成位置的计算

 

完全由手机完成所有操作不需要网络服务器(PDE)的配合

  高度的GPS敏感度

  支持多种定位方法例如AFLT,因而损益最大

  每一次定位都需要建立数据呼叫连接

  只使用GPS卫星定位

  跟踪和导航时连续定位的反应时间短

  只需要很少量的数据呼叫连接

  增加了定位时间和耗电量

  减小了损益和精度

  不需要建立数据呼叫连接

在网络上完成定位

定位基本上在手机上完成

手机完成定位

  适用于定位频率较低的应用

  速度较慢

  满足多层次的定位需求

  适用于高频率定位的应用,速度快

  满足反复导航和快速跟踪的定位需求

最适合于手机不在运营商提供的无线网络服务区内

 

11-2 3种定位模式的比较

BREW 1.X就开始提供了对定位服务的接口,随着版本的升级,支持的手机定位功能也越来越丰富,BREW对定位服务提供的功能如表11-3所示。

BREW 版本

GPSone 模式

说明

BREW 1.X

Mobile-Assisted

支持有限的手机辅助GPSone定位数据(主要是经纬度)

BREW 2.0.X

Mobile-Assisted

支持全部的手机辅助定位功能,基于GPSone的定位数据也丰富了很多,除了经纬度,还有海拔,水平速率,垂直速率,不确定值等等,增加的操作模式有single shotTrack_Localtrack_networkDLOAD_First

BREW 2.1.0

BREW 2.1.1

Mobile-Assisted

增加了对方向性的支持(手机集成了罗盘的功能)和查询手机上支持的操作模式

BREW 2.1.2

Mobile-Assisted

Mobile-Based

开始支持MS-Based定位模式和智能操作模式,允许应用在使用GPSone时能够优化速度或者精度

BREW 3.0

Mobile-Assisted

Mobile-Based

增加了新的智能操作模式能够优化手机与定位服务器之间的数据交互,引入了新的操作模式Track_Optimal和新的优化方法Optimal_Payload, DLOAD_First增强了定位的频率

BREW 3.1.2

Mobile-Assisted

Mobile-Based

Standalone

增加了几个新的数据元素使定位信息更加具体化,同时开始支持standalone定位模式

BREW 3.1.4

Mobile-Assisted

Mobile-Based

Standalone

增加了读取E911所需的只读定位标识(通过IShell_GetDeviceInfoEx获得)

BREW 3.1.5

Mobile-Assisted

Mobile-Based

Standalone

更新了相关文档和使用用例

11-3BREW对定位服务提供的功能

针对不同的应用目的,在定位过程中的操作方法也是不同的,这样可以提高定位模式的使用效率。下面逐一给予说明,见表11-4

操作模式的值

说明

One_Shot

执行一次定位是默认操作方式,“Optim” 参数来确定使用 MS-Assisted 还是MS-Based

Track_Network

 执行一系列的MS-Assisted 定位

Track_Local

执行一系列的MS-Based 定位

Track_Optimal

gpsOne引擎选择MS-Based 或者 MS-Assisted依赖于优化的准则,可以使用户不必关心所有的定位数据细节

Track_Standalone

执行一系列stand-alone 定位

DLoad_First

只请求辅助信息而不发生定位操作,在用户不在网络服务区时或者在下载辅助数据来准备MS-Based 操作时非常有用

11-4定位过程中的不同操作方法

以中国联通运营基于BREWLBS业务作为示例,定位工作由四部分组成: 移动终端( 手机) GPS 卫星、基战、业务服务器, 地图服务器。其中基于MS-Assisted的定位操作模式工作流程如图11-10

11-10基于MS-Assistedd的定位操作模式工作流程

对于基于MS-Assisted的定位操作模式工作流程,这里给予简要的描述: (1)Gpsone 手机用户向所属的基战发出“ 自我定位”请求.(2)手机获得当前位置的经纬度.(3)手机用户向业务服务器发送经纬度.(4)业务服务器根据用户提交的经纬度向地图服务器发出位置请求.(5)地图服务器根据经纬度算出用户当前位置地图、将结果返回给业务服务器.(6)业务服务器将结果发送给定位用户.

目录
相关文章
|
4月前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
625 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
11月前
|
前端开发 安全 开发工具
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
729 90
【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
8月前
|
人工智能 自然语言处理 开发工具
HarmonyOS NEXT~鸿蒙开发能力:HarmonyOS SDK AI 全解析
本文深入解析HarmonyOS SDK中的AI功能集,涵盖分布式AI引擎、核心组件(NLP、计算机视觉等)及智能决策能力。通过代码示例与开发实践指南,帮助开发者掌握环境配置、性能调优及多场景应用(智能家居、移动办公等)。同时探讨性能优化策略与未来演进方向,助力构建高效分布式智能应用。
950 9
|
10月前
|
存储 开发工具 开发者
揭秘 Microsoft.Docker.SDK:让容器开发更轻松的强大工具揭秘
随着云计算和容器技术的快速发展,`Docker` 已经成为容器化技术的事实标准。`Microsoft` 作为 `Docker` 的主要支持者和参与者,推出了 `Microsoft.Docker.SDK`,旨在帮助开发者更轻松地进行容器开发。本文将深入揭秘 Microsoft.Docker.SDK 的功能、使用方法以及它在容器开发中的应用。
303 13
|
11月前
|
前端开发 JavaScript 开发工具
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
750 5
【04】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-正确安装鸿蒙SDK-结构目录介绍-路由介绍-帧动画(ohos.animator)书写介绍-能够正常使用依赖库等-ArkUI基础组件介绍-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
11月前
|
前端开发 Java Shell
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
778 20
【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
|
12月前
|
API 开发工具 Android开发
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
505 23
【01】完整开发即构美颜sdk的uni官方uts插件—让所有开发者可以直接使用即构美颜sdk的能力-优雅草卓伊凡
|
11月前
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
606 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
1654 1
|
编解码 缓存 开发工具
Pico Neo 3教程☀️ 三、SDK 的进阶功能
Pico Neo 3教程☀️ 三、SDK 的进阶功能