您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 移动信息设备配置―定位API开发指导
FORMNOKIA移动信息设备配置:定位API开发指导版本:2.0;2006年10月31日Java™修改记录2006年10月31日版本2.0该文档参考在NOKIAFORUM发布的移动信息设备配置:定位API开发指导1.0版本版权NOKIA所有NOKIA和NOKIACONNECTTINGPEOPLE为NOKIA注册商标。Java和Java-Based为SUNMicorsystem注册商标。本文中涉及的其他公司和产品名称可能为其他公司的注册商标。声明本内容仅作为参考,不具有商业价值,没有特殊的目的性。另外,本内容并非最终版本,随时更改恕不另行知。本文件仅用于阅读参考!NOKIA不保证本文内容不侵犯任何权利,NOKIA公司对于该文件的内容可能造成的侵犯以及该文件中的相关信息产生的侵犯进行声明。NOKIA公司保留对该文件随时修改的权利,恕不另行通知。版权本文件不用于商业用途且不对任何第三方授权。目录1关于2定位API综述2.1主要适用范围2.2地理坐标系统2.3开发环境3定位API的应用3.1设备定位3.1.1选择服务供应商3.1.2创建接收端3.1.3接收端注册3.2陆标库3.2.1访问陆标库3.2.2陆标库管理3.2.3目录管理3.3设备定位3.3.1定位感应器的区别4例子:移动应用开发的定位和定位检测4.1MIDLet的用户界面4.2环境要求4.3TouristRouteMIDLet的运行4.4开发TouristRouteMIDLet4.4.1创建项目环境4.4.2运行TouristMIDLet类4.4.3运行Utils类4.4.4运行ConfigurationProveder类4.4.5运行ControlPoints类4.4.6运行ProviderStatusListener类4.4.7运行TouristData类4.4.8运行CompassUI类4.4.9运行LandLandmarkEditorUI类4.4.10运行MessageUI类4.4.11运行PitchRoLLUI类4.4.12运行ProviderQueryUI类4.4.13运行RouristUI类4.4.14在模拟器中创建见和运行4.4.15释放设备1关于本文档是对Java平台的定位API进行介绍,这是一个可选包,可以应用于大多数JavaME平台。除此之外,17页的例子:Example:TouristRouteMIDlet描述和说明了MIDP:LocationAPIExample得构架。TouristRoute参考注意:实例程序在Series40环境下不能正常执行。目标读者本文档适合于MIDP开发人员,同样也适用于用JavaEE和JavaSE在S60平台上开发移动程序和服务的开发人员。本文的读者需要对MIDP2.0比较熟悉。应用范围本文需要对开发和Java编程非常熟悉,最好熟悉企业级应用程序开发。但是并不需要了解移动环境的应用开发。本文重点介绍定位API并不介绍Java开发技术。关于Java技术参考关于Java移动开发技术参考更多关于MIDP工具和文档,请访问NokiaForum和MobileJava部分。2定位API综述Java™2Platform,MicroEdition(J2ME™)(JSR-179参考)的定位API在S60和Series40第三版中都提到,他是一个可以在大多数J2ME中使用的可选包。API需要的最低平台为ConnectedLimitedDeviceConfiguration(CLDC)1.1,因为API需要数学浮点运算的支持。S60和Series40同样支持MMAPI,详情请参考LocationAPIforJ2ME™定位API的目的就是开发具有定位功能的设备的应用程序。根据设备的自然情况,API提供利用设备的方法。另外,定位API是很多易用的类和接口的压缩包,其在开发移动应用程序的时候具有以下三个特点:z获取设备的位置信息z创建、编辑、存储、销毁陆标z获取设备的定位定位API首先需要连接一个定位方法,利用定位方法产生定位对象,每种定位方法都不一样。比如,各种方法所需要的时间都不一样,每种方法的精确度也不一样。最常用的方法有基于设备(比如GPS,这种方法基于卫星全球定位系统)、基于网络(比如蜂窝,这种方法中网络决定了位置),还有混合方法(比如A-GPS方法,这种方法利用网络信息来加速定位)。下面的图表显示了APIMIDLet使用GPS定位方法来定位的结构。对MIDLet在SDK环境中检测后,还必须在真实的环境中进行检测,来确保正确运行。真实的环境意味着在支持移动定位的设备中使用API定位。2.1主要使用范围定位服务是利用用户的物理位置提供额外服务的应用程序。利用定位信息可以实现很多目的:z地图,导航,以及结合指导功能的方位的应用z跟踪和管理应用z交互式游戏和服务,比如体育新闻和报道z根据所在位置寻找附近目标位置z天气预报2.2地理坐标系统开始学习JSR-179前,需要对地理坐标系统的基础知识进行了解。API使用的坐标是从全球测量系统(WGS84)(参考)获取的。目前也使用全球定位系统(GPS)作为参考。API中的坐标有纬度、经度和海拔组成。(这里,海拔就是搞出海平面的高度。)下面的图表中,地平线测量纬度。这些线代表了南北两极间的位置。北极点是北纬90度(+90),南极点是南纬90度(-90)。最大的一圈是赤道,定义为0度。赤道以上的纬度从0度到9度,赤道一下的纬度从-90度到0度。尽管如此,北极点的定义并非清楚。API可以使用地磁中的北极点,也可以使用地理中的北极点。事实上,在任何API应用程序中都必须检测如何定位北极。地磁中的北极点就是磁场的北极点,北极点并非精致不动的,而是每年都有数公里的移动,地球两极并非对称,因为南北极点的移动式独立的。北极点的定位是根据纬度制定的。南北两极到赤道的距离是相等的。下面图表中连接南极点和北极点的是经线,他们的长度是相同的。经度实际上并没有明确的起始位置,因此我们必须确定一个参考起点。最原始的经线是起始于英国伦敦的一个观察站,子午线的值为0度。WGS84系统中定义的经度开始的位置于传统经线起始位置向东100千米,子午线以东经线的值为0度到180度,子午线以西的经度的值为-180度到0度。图表2:经度和纬度,赤道和0度经线是用的是粗体。从下面的图中可以看出,越靠近两极,纬线变得越来越小,在赤道,1度经线的纬线长约111.3千米,60度经线的纬线长度只有55。8千米。图3:0度和60度经度的纬线的长度是不同的。2.3开发环境开发和测试定位API应用程序都可以在一个模拟环境中之执行。比如,S60第三版,FP1SDK可以在定位API中用来模拟从一个位置转移到另一个位置的过程。在模拟环境中测试需要位置数据。有很多方法都可以获得这些数据,其中一种方法是使用提供的Rout工具,比如Series60第三版,FeaturePack1heMIDP(从prefs.exe中获得)。利用这些工具可以记录移动位置的数据,这些数据以NMEA0183的形式存储。NMEA0183是被广泛应用于GPA数据转移的标准格式。如果要修改一个区域的坐标,输入新的坐标(即可以使用“N”,也可以使用“S”),选择“Loadscale”。新的坐标就会显示在正在描绘的图象中。输入新的坐标后,以前的坐标都将删除,因此这样很容易产生错误。当整个过程结束的时候可以选择“Save”保存数据。选择“Apply”可以允许SDK使用新建的坐标。下面的表格说明了一个Route工具的使用。图表4:定位工具3使用API定位定位API被定义在javax.microedition.location数据报中,察看microedition.location.version的属性可以看到API的更详细的情况。系统属性的值就是运行的API的版本号,比如“1.0”。本节所讲到的API开发中的代码可以从以下地址获得。每个例子都是说明API使用的重要的内容。在学习本人内容的时候最好也参考一下TouristRouteMIDLet源代码。所有的定位API都在一个相同的类中,这节将这些API结合在一起讲解,API中第一个使用的应该是选择定位供应商,看下面的第一个表:类解释Criteria用于选择服务供应商LocationProvider显示位置信息(比如GPS模式)通常,API定位应用程序首先更新设备位置,定位API使用Lister检测位置更新。以下列表介绍了几个Lister。类解释LocationListene接受与其连接的LocationProvider的信号PorximityListener连接附近的探测器注册新的坐标。下面的表格主要说明位置是如何测量的类解释AddressInfor将位置信息以文本的形式存储Coordinates以经度-纬度-海拔的形式表达坐标Location显示标准格式的位置信息(及时坐标,速度,精确度等等)LocationException定位API产生错误的时候执行QualifiedCoordinates更精确的以纬度-经度-海拔的格式表示坐标位置信息可以存储用于陆标。下面的表格所介绍的类就是这个目的。类解释Landmark用于显示一个已知定位的名称LandmarkException处理陆标出现问题的时候运行LandmarkSrore管理陆标的方法(存储,删除,恢复陆标)如果设备探测器支持获取方向信息,也可以使用定位API的Orientation类来获取信息(如下表)。表3.5:定位API中的方位信息获取类类解释Orientation显示设备物理方位i3.1设备定位设备中内置的定位提供方法并不是必须的。比如,设备运行一个定位API,需要一个附件来运行定位方法。这样一个附件可以是带蓝牙的GPS接收设备或者是一个在有效范围内的GPS接收设备。位置的精确度有定位的方法所决定。有很多设备运行API定位程序从手机的基站获得位置信息,局部小范围的定位基站也可以用来获取位置信息。除此之外,很多设备支持混合方法叫做A-GPS,这种方法同时使用了APS和网络获取位置信息。下面的图说明了使用移动电话网或者卫星定位的原理。图5:通过使用移动电话网和卫星定位。通常,通过卫星接收到的位置信息更加精确。由于卫星的周期性,在商业区卫星的GPS可能出现“峡谷效应”,造成API定位中断。使用的费用根据不同的定位方法决定。API中可以定义定位所使用的方法。3.1.1选择服务供应商API使用的第一个类是LocationProvider类,其显示了定位信息提供的模式。通过使用默认的LocationProvider.getInstance(Criteriacriteria)可以创建LocationProvider的一个实例。标准参数用于判断使用了什么定位方式。API运行的时候选择最符合参数的定位提供方式。Tou
本文标题:移动信息设备配置―定位API开发指导
链接地址:https://www.777doc.com/doc-4498772 .html