位置服务与地图应用

上传人:zhu****ei 文档编号:245085228 上传时间:2024-10-07 格式:PPT 页数:36 大小:974KB
返回 下载 相关 举报
位置服务与地图应用_第1页
第1页 / 共36页
位置服务与地图应用_第2页
第2页 / 共36页
位置服务与地图应用_第3页
第3页 / 共36页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,位置服务与地图应用,1,学习目标:,了解位置服务的概念,了解地图密钥的申请方法,掌握获取位置信息的方法,2,1,位置服务,位置服务,位置服务(Location-Based Services,LBS),又称定位服务或基于位置的服务,融合了,GPS定位,、,移动通信,、,导航,等多种技术,提供与,空间位置相关,的综合应用服务,位置服务首先在,日本,得到商业化的应用,2001年7月,DoCoMo发布了第一款具有三角定位功能的手持设备,2001年12月,KDDI发布第一款具有GPS功能的手机,涉及商务、医疗、工作和生活的各个方面,3,1,位置服务,位置服务,Android平台支持提供位置服务的,API,,在开发过程中主要用到,LocationManager和LocationProviders,对象,LocationProviders是提供定位功能的组件集合,获取LocationManager可以通过调用android.app.Activity.getSystemService()函数获取,代码如下,String serviceString=Context.LOCATION_SERVICE;,LocationManager LocationManager=(LocationManager)getSystemService(serviceString);,Context.LOCATION_SERVICE指明获取的是位置服务,getSystemService()函数,根据服务名称获取Android提供的服务,4,1,位置服务,位置服务,指定LocationManager的定位方法后调用LocationManager.getLastKnowLocation()方法获取当前位置,目前LocationManager中主要有两种定位方法,GPS定位,:精确但定位速度和质量受卫星数量和环境影响,网络定位,:精度差,但速度较GPS定位要迅速,5,1,位置服务,位置服务,LocationManager支持定位方法,6,1,位置服务,位置服务,使用GPS定位获取位置信息的代码如下,String provider=LocationManager.GPS_PROVIDER;,Location location=locationManager.getLastKnownLocation(provider);,Location对象包含了可以确定位置的信息,如经度、纬度和速度等,通过调用Location中的getLatitude()和getLonggitude()方法可以分别获取位置信息中的纬度和经度:,1double lat=location.getLatitude();,2double lng=location.getLongitude();,7,1,位置服务,位置服务,为了使GPS定位功能生效,还需要在AndroidManifest.xml文件中加入用户许可,实现代码如下,8,2,Google,地图应用,2.1,申请地图密钥,使用,Google提供的地图服务,实现地理信息可视化开发,使用,MapView,()将Google地图嵌入到Android应用程序中,使用MapView进行开发前须向Google申请经过验证的“,地图密钥,”(Map API Key),“地图密钥”是访问Google地图数据的密钥,无论是模拟器还是在真实设备中需要使用这个密钥,9,2,Google,地图应用,2.1,申请地图密钥,使用Google账户,即Gmail电子邮箱,注册“地图密钥”,找到保存Debug证书的keystore的保存位置,并获取证书的MD5散列值,keystore是一个密码保护文件,存储Android的证书,10,2,Google,地图应用,2.1,申请地图密钥,获取证书的保存地址的方法:首先打开,Eclipse,通过Window Preferences打开配置窗体,在Android Build栏中的Default debug keystore中可以找到,11,2,Google,地图应用,2.1,申请地图密钥,获取,Debug证书MD5散列值,需在命令行环境下,切换到keystore的目录,输入如下命令,keytool-list-v-keystore debug.keystore,Keytool是JDK提供的工具,如果提示无法找到keytool,可以将/bin的路径添加到系统的PATH变量中,12,2,Google,地图应用,2.1,申请地图密钥,在提示输入,keystore密码时,输入密码android,或直接输入回车,MD5、SHA1和SHA256散列值将都显示出来。如下图所示,13,2,Google,地图应用,2.1,申请地图密钥,申请“地图密钥”的最后一步是打开申请页面,输入,SHA1散列值,申请页面的地址是,14,2,Google,地图应用,2.1,申请地图密钥,获取,Map API Key页面,15,2,Google,地图应用,2.1,申请地图密钥,输入,MD5散列值后,点击Generate API Key按钮,将提示用户输入Google账户,正确输入后账户后,将生产申请“地图密钥”的获取结果,如下图所示,16,2,Google,地图应用,2.2,使用,Google,地图,MapView是地图的显示控件,可以设置不同的显示模式,例如卫星模式、街道模式或交通模式,MapController是MapView的控制器,可以控制MapView的显示中心和缩放级别等功能,建立工程时需将com.google.android.maps扩展库添加到工程中,这样就可以使用Google地图的所有功能,添加com.google.android.maps扩展库的方式是在创建工程时,在Build Target项中选择Google APIs,17,2,Google,地图应用,2.2,使用,Google,地图,引入Google地图扩展库(图),18,2,Google,地图应用,2.2,使用,Google,地图,程序运行时需要连接互联网,运行结果如下图所示,地图模式 卫星模式,19,Android NDK开发,20,学习目标:,了解Android NDK的用途和不足,了解Android NDK编译环境的安装与配置方法,了解Android NDK的开发步骤,21,1,NDK,简介,Android NDK,Android NDK(Android Native Development Kit)是一系列的开发工具,允许程序开发人员在Android应用程序中嵌入,C或C+,语言编写的本地代码,Android NDK优势,解决了核心模块使用,托管语言,开发执行效率,低下,的问题,允许直接使用C/C+源代码,极大的提高了Android应用程序开发的灵活性,Android NDK不足,Android NDK,不会提升,所有Android程序的执行效率,但一定会,增加,程序的,复杂程度和调试难度,22,1,NDK,简介,Android NDK,程序开发人员需要仔细权衡Android NDK所能提升的运行效率与增加的复杂程度是否在可接受的范围内。选择使用Android NDK应主要出于以下两种目的,一是Android应用程序框架无法满足运行效率时,二是需要使用大量已有C/C+源代码,23,1,NDK,简介,Android NDK,Android NDK提供一系列的工具、编译文件、文档和示例代码,用于从C/C+源代码中生产本地代码库,还提供了将本地代码库嵌入到apk文件的方法,Android NDK所包含的大量本地系统头文件和库文件,主要是用来支持未来版本的Android系统,Android NDK所支持的最低版本的Android系统是1.5版本,如果使用本地Activity则所需要的最低Android系统版本为2.3,版本,24,1,NDK,简介,Android NDK,最新版本的Android NDK支持ARM指令集,包括ARMv5TE、ARMv7-A和x86,ARMv5TE机器码可以在所有基于ARM的Android设备上使用,ARMv7-A机器码则只能运行在具有ARM7 CPU的Android设备上,如Verizon Droid手机和Google Nexus One手机,ARMv7-A与ARMv5TE指令集的差别主要在于,ARMv7-A支持硬件FPU(浮点运算单元)、Thumb-2和NEON指令集,程序开发人员可以针对不同目标设备,在Android NDK中使用不同的ARM指令集支持不同的架构,也可以同时将支持多个架构的指令集编译到同一个apk文件中,25,2,NDK,开发环境,NDK开发环境包括Eclipse、Android NDK和Cygwin,Eclipse建立Android工程和编写程序代码,Android NDK提供编译脚本和工具,Cygwin完成,Linux环境,下的交叉编译,将C/C+的源代码文件编译成Android系统可调用的共享连接库文件,26,2,NDK,开发环境,Android NDK编译环境支持Windows XP、Linux和MacOS,Windows系统的编译环境配置方法,下载Android NDK的安装包,下载并安装Cygwin,27,2,NDK,开发环境,下载Android NDK的安装包,Google的Android开发者网站下载Android NDK的安装包,下载地址是http:/,下载页面如下,28,2,NDK,开发环境,下载并安装Cygwin,Android NDK目前还不支持在Windows系统下直接进行交叉编译,需安装Linux模拟器环境Cygwin,完成C/C+代码的交叉编译工作,Android NDK要求Cygwin的版本高于1.7,因此最好安装较新版本的Cygwin,Cygwin的最新版本可以到官方网站http:/下载,29,2,NDK,开发环境,下载并安装Cygwin,在Cygwin的安装过程中,需要将Devel下的gcc和make的相关选项选上,如下图所示,否则Cygwin将无法编译C/C+源代码文件,30,3,NDK,文档和示例,Android NDK的目录结构,在介绍NDK开发前,首先熟悉一下Android NDK为程序开发人员提供的资料和示例。Android NDK的目录中包含7个子目录和7个文件,build目录保存了编译脚本和配置文件,docs目录是帮助文档目录,platforms是保存了编译过程中可能用到的头文件和库文件,并根据Android版本和CPU类型进行了分类,31,3,NDK,文档和示例,Android NDK的目录结构,sources目录中保留了程序中可能用到的C/C+源代码文件,CPU类型检查和本地Activity的C/C+源代码文件就在这个目录中,tests是测试代码目录,toolchains是交叉编译工具目录,documentation.html是帮助文档的起始页,可以通过该文件快速浏览docs目录中的所有帮助文档,32,3,NDK,文档和示例,Android NDK的目录结构,GNUmakefile编译配置文件,ndk-build是交叉编译的快捷脚本,ndk-gdb用于Debug调试的脚本,README.txt和RELEASE.txt分别是Android NDK的说明文档和版本信息,33,3,NDK,文档和示例,Android NDK的目录结构,GNUmakefile编译配置文件,ndk-build是交叉编译的快捷脚本,ndk-gdb用于Debug调试的脚本,README.txt和RELEASE.txt分别是Android NDK的说明文档和版本信息,34,4,NDK,初级示例,进行Android NDK,开发一般要经过如下的
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!