首页 《地图应用开发V》PPT课件

《地图应用开发V》PPT课件

举报
开通vip

《地图应用开发V》PPT课件第8章地图应用开发哈尔滨工程大学王向辉本章学习目标:掌握位置传感器的使用方法了解不同位置信息获取途径掌握通知控件的使用方法掌握谷歌地图的使用方法8.1位置传感器位置服务(Location-BasedServices,LBS),又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务。定位服务可以获取用户终端的位置信息,Android系统支持GPS、WiFi和基站信号三种定位方式。位置传感器(LocationSensor)采用上述三种定位技术,可以获取手机的经度、纬度...

《地图应用开发V》PPT课件
第8章地图应用开发哈尔滨工程大学王向辉本章学习目标:掌握位置传感器的使用方法了解不同位置信息获取途径掌握通知控件的使用方法掌握谷歌地图的使用方法8.1位置传感器位置服务(Location-BasedServices,LBS),又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务。定位服务可以获取用户终端的位置信息,Android系统支持GPS、WiFi和基站信号三种定位方式。位置传感器(LocationSensor)采用上述三种定位技术,可以获取手机的经度、纬度和海拔等数据。位置传感器是非可视化控件,在页面编辑器中显示如下图所示。界面编辑器中的位置传感器8.1位置传感器位置传感器的属性位置传感器支持较多的属性,包括定位精度、定位硬件、经纬度、海拔等信息。具体属性如下表:属性属性说明Accuracy设备的精确度,单位(米)AvailableProviders可用的位置服务提供硬件CurrentAddress当前所在位置地址Enabled是否启用位置服务HasAccuracy是否可返回设备精确度HasAltitude是否可返回设备高度HasLongitudeLatitude是否可返回设备经纬度Latitude纬度Longitude经度Altitude海拔高度ProviderLocked锁定位置服务提供者ProviderName位置服务提供者名称TimeInterval每隔多长时间显示一次定位信息DistanceInterval每隔多大距离显示一次定位信息8.1位置传感器位置传感器事件位置传感器支持位置改变事件(LocationChanged)和位置服务提供者状态改变事件(StatusChanged)。位置改变事件在手机的经度、纬度和高度发生变化时产生,一般用来获取这三项数值。位置服务提供者状态改变事件在位置服务提供者的状态发生变化时产生,用来获取位置服务提供者的基本信息和状态信息。位置传感器的事件8.1位置传感器位置传感器方法位置传感器支持LatitudeFromAddress方法和LongitudeFromAddress方法。LatitudeFromAddress方法可以从地址中获取经度信息。LongitudeFromAddress方法可以从地址中获取纬度信息。位置传感器方法8.1位置传感器下图是LocationSensor示例的运行界面。在手机上运行该示例,可以获取到手机的经度和纬度信息,该示例的海拔信息、服务提供者信息和状态信息处于未知状态。位置传感器示例LocationSensor为了能更好的理解位置传感器的事件和属性,下面介绍可以获取位置信息和位置服务提供者信息的LocationSensor示例。8.1位置传感器位置传感器示例LocationSensor右图是示例LocationSensor的界面示意图,该示例中可视化控件只有标签,非可视化控件有表格布局和位置传感器。8.1位置传感器位置传感器示例LocationSensorLocationSensor示例的逻辑模块比较简单,只有两个关于位置传感器控件的事件模块,LocationSensor示例的全部逻辑模块如下图。8.2通知控件在进入下一节“谷歌地图”前,先介绍一个重要的通知控件Notifier,这是一个非可视化控件,在界面编辑器中的显示如下图。通知控件提供了多种不同的方式与手机用户交互信息,例如在屏幕中出现的浮动消息,以及弹出的选择对话框或输入对话框,如下图所示。8.2通知控件Notifier是一个没有属性的控件,支持选择后事件(AfterChoosing)和输入后事件(AfterTextInput)。选择后事件,用户在选择对话框中做出选择后产生,一般与ShowChooseMessageDialog方法联合使用。输入后事件,用户在文本对话框中输入并返回后产生,一般与ShowTextDialog方法联合使用。通知控件事件通知控件事件8.2通知控件Notifier支持7种方法,包括显示消息对话框、显示选择对话框和显示文本对话框等,如下表所示。通知控件方法方法说明ShowMessageDialog显示消息对话框,只有一个按钮,可设定按钮显示的文字ShowChooseDialog显示选择对话框,有两个或三个按钮,并可设定按钮显示的文字ShowTextDialog显示文本对话框,可在对话框中输入文字ShowAlert显示警告信息LogError错误信息LogInfo提示信息LogWarning警告信息8.1位置传感器通知控件示例NotifierNotifier示例说明如何使用通知控件产生消息对话框,获取用户在选择对话框的选择和在文本对话框中的输入。Notifier示例的运行界面如下图所示,用户在点击不同的按钮后,会产生一个与按钮内容相对应的对话框或者提示信息。Notifier示例8.1位置传感器通知控件示例NotifierNotifier示例的界面示意图如右图所示,界面主要由按钮和标签组成,只有一个非可视化控件Notifier1。8.1位置传感器通知控件示例NotifierShowAlertButton按钮的点击事件调用通知控件的ShowAlert方法,在手机屏幕上显示浮动的提示信息。按钮点击事件和警告信息8.1位置传感器通知控件示例Notifier按钮点击事件和选择对话框在ShowMessageDialogButton按钮的点击事件中,使用通知控件的ShowMessageDialog方法,显示消息对话框,如下图所示。参数message是消息对话框中的信息;参数title是消息对话框的标题;参数buttonText是消息对话框中唯一一个按钮的文字提示内容。用户在“选择对话框”做出选择后,将产生AfterChoosing事件,参数choice代表用户的选择,用按钮上的文字表示。例如,如果用户选择的是“YES”按钮,则参数choice是字符串“YES”;如果用户选择的是“Cancel”按钮,则参数choice是字符串“Cancel”。在AfterChoosing事件中,只是将用户的选择显示在标签Label1中,如下图所示。8.1位置传感器通知控件示例NotifierAfterChoosing事件在ShowMessageDialogButton按钮的点击事件中,使用通知控件的ShowMessageDialog方法,显示消息对话框,如下图所示。参数message是消息对话框中的信息;参数title是消息对话框的标题;参数buttonText是消息对话框中唯一一个按钮的文字提示内容。8.1位置传感器通知控件示例Notifier按钮点击事件和选择对话框在ShowTextDialogButton按钮的点击事件中,使用通知控件的ShowTextDialog方法,显示文字对话框,如下图所示。8.1位置传感器通知控件示例Notifier按钮点击事件和文本对话框8.1位置传感器通知控件示例NotifierAfterTextInput事件用户在“文本对话框”中输入信息后,如果点击“OK”按钮,则会触发AfterTextInput事件,输入的信息会被传递到参数response中;但如果用户点击的是“CANCEL”按钮,参数response将获取到字符串“CANCEL”。在AfterTextInput事件中,只是将用户输入的信息显示在标签Label1中,如下图所示。8.1位置传感器通知控件示例NotifierNotifier示例的全部逻辑模块Notifier示例的全部逻辑模块如下图。8.3谷歌地图谷歌地图是谷歌公司提供的电子地图服务,可以提供含有政区、交通和商业信息的地图,提供不同分辨率的卫星照片,并且可显示地形和等高线地形视图。下图是Android手机中的谷歌地图。Android手机的谷歌地图8.3谷歌地图AppInventor中使用谷歌地图AppInventor中使用谷歌地图一般有两种途径,一种是使用WebViewer(在Notreadyforprimetime中),另一种是使用ActivityStarter(在Otherstuff中)。使用WebViewer是在浏览器中打开谷歌地图,只需将URL链接地址传递给WebViewer控件的GoToUrl方法就可以在Web浏览器中打开谷歌地图。右图示例展示的是获取目的地址经纬度为(45.76,126.70)的谷歌地图,GoToUrl方法的参数构成为“http://maps.google.com/maps?q=45.76,126.70”,但这种方法并不推荐使用,因为使用的并不是正式控件,而且显示速度和效果并不十分理想。8.3谷歌地图AppInventor中使用谷歌地图使用ActivityStarter是在新的屏幕页中打开谷歌地图,只需将URI参数传递给ActivityStarter控件的DataUri方法,就可以在新的屏幕页中打开谷歌地图。下面详细介绍ActivityStarter控件的属性、事件和方法。ActivityStarter是启动其它程序屏幕页的控件,可以启动其它AppInventor程序、摄像头程序、Web搜索程序和谷歌地图。ActivityStarter是非可视化控件,在界面控制器中的显示如下图。8.3谷歌地图ActivityStarter事件ActivityStarter控件只有一个AfterActivity事件,在打开屏幕页(Activity)后产生该事件,参数result常用于获取屏幕页的返回值。AfterActivity事件8.3谷歌地图ActivityStarter方法ActivityStarter有两个方法:StartActivity和ResolveActivity。AfterActivity方法StartActivity方法用来启动目标屏幕页,在相关参数设置完毕后,调用该方法可以在手机上直接打开新的应用程序。ResolveActivity用来获取屏幕页的解析结果,如果没有明确的指定需要打开哪个应用程序,则需要由Android系统来确定,这个方法可以在正式打开程序前,尝试获取Android系统的解析结果。如果ResolveActivity方法的解析结果为空,则表示没有可以被打开的应用程序。8.3谷歌地图ActivityStarter属性通过设置ActivityStarter的属性可以指定启动的程序,每项属性的含义可以参考下表:属性说明Action动作ActivityClass类名ActivityPackage包名称DataUri通用资源符DataType数据类型ExtraKey键名ExtraValue键值Result结果返回值ResultName结果返回值名称ResultType结果返回值类型ResultUri返回值的通用资源标识或数据下面将要启动的其它应用程序分为五类,分别来介绍如何设置ActivityStarter的属性值来启动不同类型的应用程序。8.3谷歌地图ActivityStarter属性启动其它AppInventor应用程序启动其它AppInventor应用程序只需要设置两个参数:ActivityPackage和ActivityClass。首先从AppInventor中下载目标程序源代码,因为需要的两个参数值就在目标程序的源代码中。将源代码解压缩,并找到文件youngandroidproject/project.properties,这个文件是保存应用程序基础数据的文件。打开这个文件后,以“main”开头的第一行,这里就是需要找的内容。下面以LocationSensor示例project.properties文件内容说明说明如何获取ActivityPackage和ActivityClass参数。main=appinventor.ai_wangxianghui2013.LocationSensorEvent.Screen1name=LocationSensorEventassets=../assetssource=../srcbuild=../buildversioncode=1versionname=1.08.3谷歌地图ActivityStarter属性文件第一行以“main”开始,去掉“main=”就是ActivityClass参数:appinventor.ai_wangxianghui2013.LocationSensorEvent.Screen1。将ActivityClass参数的最后一部分(.Screen1)去掉,就是ActivityPackage参数:appinventor.ai_wangxianghui2013.LocationSensorEvent。启动手机中已有的应用程序启动手机中已有的应用程序需要设置三个参数:Action、ActivityPackage和ActivityClass。下面以摄像头程序为例,说明如何启动手机中已有的应用程序。这里直接给出需要的参数,如下表。参数值Actionandroid.intent.action.MAINActivityPackagecom.google.android.cameraActivityClasscom.android.camera.Camera8.3谷歌地图ActivityStarter属性启动Web搜索程序假设需要搜索的内容是greatwall,则需要设置的参数共5个,分别是Action、ExtraKey、ExtraValue、ActivityPackage和ActivityClass,具体参数设置如下表:启动浏览器,并打开指定的网页启动手机中内置的Web浏览器,并打开指定链接地址的网页,需要设置参数Action和DataUri值。Action参数设置为android.intent.action.VIEW,表示调用手机内部程序浏览指定的内容。此处示例将参数DataUri设置为http://android.hrbeu.edu.cn,其实只要出现“http”的字样,Android系统就会调用系统内部的Web浏览器。启动浏览器打开网页的参数值如下表。参数值Actionandroid.intent.action.WEB_SEARCHExtraKeyqueryExtraValuegreatwallActivityPackagecom.google.android.providers.enhancedgooglesearchActivityClasscom.google.android.providers.enhancedgooglesearch.Launcher8.3谷歌地图ActivityStarter属性启动谷歌地图,显示指定地点启动谷歌地图并显示指定地点需要设置的参数依然为Action和DataUri。DataUri的中的参数为“geo:0,0&q=PotalaPalace”,其中“PotalaPalace”是要显示地在图上的地点。启动谷歌地图并显示指定地点的参数值设置如下表。参数值Actionandroid.intent.action.VIEWDataUrihttp://android.hrbeu.edu.cn参数值Actionandroid.intent.action.VIEWDataUrigeo:0,0&q=PotalaPalace8.1位置传感器Activity启动谷歌地图应用示例DreamTourDreamTour示例的用户界面如下图:DreamTour示例运行界面8.1位置传感器Activity启动谷歌地图应用示例DreamTour界面中“选择景点”下方的四个小图片是可以点击的按钮,点击不同的小图片会显示不同的景点名称和图片。选择不同的景点后,点击“打开地图”按钮可以启动谷歌地图,并自动搜所选择的景点,然后将指定景点的位置信息显示在地图上。DreamTour示例运行界面8.1位置传感器Activity启动谷歌地图应用示例DreamTour在进行ActivityStarter的属性参数设置时,Action是一定要进行设置,DataUri是在模块编辑器中根据用户的选择进行设置。ActivityClass和ActivityPackage参数可设置,也可不设置。如不设置ActivityClass和ActivityPackage参数,在手机中装有多个地图软件时,会提示用户进行选择,如下图所示。完成动作方式选择在按钮点击事件中,LabelInfo标签使用的是英文景点名称,景点名称的中英文对照如下表。8.1位置传感器Activity启动谷歌地图应用示例DreamTour英文名称中文名称StatueofLiberty纽约自由女神像PotalaPalace拉萨布达拉宫IsladePascua复活节岛石像EiffelTower巴黎埃弗尔铁塔在ButtonMap按钮点击后,调用Notifier1控件的ShowChooseDialog方法,打开选择对话框。ButtonMap点击事件模块如下图。8.1位置传感器Activity启动谷歌地图应用示例DreamTour如果希望避免从多个地图软件中做选择,可以直接打开谷歌地图,只需设定启动谷歌地图的参数值,即将ActivityClass和ActivityPackage参数按下表进行设置即可。参数值类型Actionandroid.intent.action.VIEW必选DataUrigeo:0,0&q=IsladePascua必选,模块编辑器中设定ActivityClasscom.google.android.maps.MapsActivity可选ActivityPackagecom.google.android.apps.maps可选在模块编辑器中,创建响应四个按钮的点击事件,根据用户点击的按钮不同,选择不同的图片在图像Image1上显示,并修改标签LabelInfo的显示内容,如下图。8.1位置传感器Activity启动谷歌地图应用示例DreamTour景点按钮点击事件根据ShowChooseDialog方法的参数设定,选择对话框的内容如右图所示。8.1位置传感器Activity启动谷歌地图应用示例DreamTour用户在选择对话框做出抉择后,会触发Notifier1控件的AfterChoosing事件,根据参数choice的值,判断用户的选择。因为用户可以选择的值只有“YES”和“NO”,因此只要判断choice的值是否为“YES”。如果是则设置ActivityStarter1的DataUri属性,然后调用StartActivity方法打开谷歌地图,如右图。DreamTour示例的全部逻辑模块如下图:8.1位置传感器Activity启动谷歌地图应用示例DreamTour
本文档为【《地图应用开发V》PPT课件】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥35.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
希望图文
公司秉着用户至上的原则服务好每一位客户,专注课件、范文、教案设计制作
格式:ppt
大小:2MB
软件:PowerPoint
页数:39
分类:其他高等教育
上传时间:2022-05-05
浏览量:5