毕业论文范文——基于高德地图定位与聊天.doc

上传人:滴答 文档编号:1256890 上传时间:2019-01-19 格式:DOC 页数:29 大小:1.80MB
下载 相关 举报
毕业论文范文——基于高德地图定位与聊天.doc_第1页
第1页 / 共29页
毕业论文范文——基于高德地图定位与聊天.doc_第2页
第2页 / 共29页
毕业论文范文——基于高德地图定位与聊天.doc_第3页
第3页 / 共29页
毕业论文范文——基于高德地图定位与聊天.doc_第4页
第4页 / 共29页
毕业论文范文——基于高德地图定位与聊天.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、基于高德地图定位与聊天 摘 要随着生活类搜索的风行,人们越来越多的关注身旁的一些日常生活信息,如:住房、餐饮、出行、等等。电子地图产品将越来越接近人们的生活,更加及时的反映出人们四周的转变,以更好的满足人们的日常需求。智能手机的普及也造成了人们对于软件功能的需求。随着人们对于出行、餐饮、住房越来越关注。随之诞生如 QQ、高德、携程,美团,58 同程等 app 的兴起。但是他们都没偶解决朋友出行,聊天并同时告诉对方自己现在所出位置地功能所以人人地图是为了解决这一问题而研发出来的。人人地图移动版 API(android)是一套基于 Android1.7 及以上设备的应用程序接口,通过该接口,您可以

2、轻松访问高德地图服务和数据,构建功能丰富、交互性强的地图应用程序。高德地图移动版 API 不仅包含构建地图的基本接口,还提供了诸如地图定位、本地搜索、路线规划等数据服务,您可以根据自己的需要进行选择。人人地图是一款基于高德地图 API2.4.0 开发的具有聊天互动以及相互定位功能的软件关键词:高德地图 api,聊天互动,相互定位。Based on High German map positioning and chatAbstractWith the popularity of life search, people pay more and more attention to the dai

3、ly life information, such as: housing, catering, travel, etc. Electronic map products will be closer to peoples life, more timely reflect the people around the change to better meet the daily needs of people. The popularity of smart phones has also caused the need for the function of the software. A

4、s people for travel, catering, housing more and more attention. Along with the birth of the such as QQ, Gao De, Ctrip, the U.S. group, 58 with the rise of the same way app. But they didnt even solve travel friends, chat and tell each other their own now deviative landmark function so everyone map is

5、 in order to solve this problem out of research and development.All the mobile version of the map API (Android) is a set of application program interface based on Android1.7 and above equipment, through the interface, you can easy access to High German map services and data, build a feature rich, in

6、teractive maps application. High German map mobile version of the API includes not only to construct a map of the basic interface and also provides services such as location maps, search the local route planning and data, you can choose according to their own needs. Everyone map is a API2.4.0 based

7、on the development of high moral map chat interactive and mutual positioning softwareKeywords: high moral map API, chat interaction, mutual positioning.目 录论文总页数:25 页1 引言 .11.1 系统需求分析 .11.2 国内外进展 .11.3 系统功能实现主要功能 .22 系统界面及菜单设计 .22.1 前期主界面设计 .22.2 前期菜单页面设计 .33 地图 .43.1 地图展示 .43.1.1 申请高德地图 API 开发 key.4

8、3.1.2 主界面显示地图 .53.1.3 主界面布局及地图首次定位 .64 聊天 .104. 1 事件协议及处理 .114.1.1 注册 .114.1.2 登录 .124.1.3 添加好友 .124 .2 网络结构设计图 .124.3 下面简单从代码角度分析聊天功能的实现 .135 相互定位 .206 结论与讨论 .23致 谢 .25声 明 .26第 1 页 共 26 页1 引言1.1 系统需求分析基于移动互联网时代的兴起,人们对于智能手机的需求越来越高,现如今智能移动端大体分为安卓和 iOS,智能手机的普及也造成了人们对于软件功能的需求。随着人们对于出行、餐饮、住房越来越关注。随之诞生如携

9、程,美团,58 同程等 app 的兴起。当好朋友相约出去游玩时,虽然上述软件可以满足人们查询景点、购票等需求,但目前还没有一款软件可以同时提供相约一同出去玩的朋友的确切位置,而这一信息对于结伴出行的朋友之间快速集合、高效到达目的地等极为重要。因此人人地图就基于上述需求而开发出来的为结伴出行的好友之间提供便利通信与相互定位功能的软件,它是基于安卓手机平台改变当前团体活动在成员定位方面主要靠成员之间通过手机通讯口头交流位置信息,这是因为当前的团体内成员之间定位的方法即不效率低,又不准确。1.2 国内外进展1.2.1 Facebook Facebook 墙就是用户档案页上的留言板。有权浏览某一个用户

10、完整档案页的其他用户,都可以看到该用户的墙。用户墙上的留言还会用 Feed 输出。很多用户通过他们朋友的墙,留短信儿。更私秘的交流则通过“消息(Messages)”进行。消息发送到用户的个人信箱,就象电子邮件,只有收信人和发信人可以看到。 2007 年 7 月起,用户可以在墙上贴附件。之前,只允许文本内容1.2.2 QQ腾讯 QQ(简称“QQ”)是腾讯公司开发的一款基于 Internet 的即时通信(IM)软件。腾讯 QQ 支持在线聊天、视频通话、点对点断点续传文件、共享文件、网络硬盘、自定义面板、 QQ 邮箱等多种功能,并可与多种通讯终端相连。2015 年,QQ 继续为用户创造良好的通讯体验

11、!其标志是一只戴着红色围巾的小企鹅。1.2.3 高德地图高德是国内领先的数字地图内容、导航和位置服务解决方案提供商。自2002 年起步以来,经过十二年的不懈努力和艰辛探索,积累了扎实的技术,构筑了地图行业高壁垒,公司在各项业务取得重大发展的同时成为行业翘楚。2010 年,高德提出了向移动互联网转型的战略,依托在汽车导航市场取得的领先地位,在产品、服务和商务模式上继续不断创新,迅速构建起支撑各类产品和服务海量用户的“地图云服务”平台,努力实现基于“四屏一云”业务构架的“移动生活位置服务门户”战略。第 2 页 共 26 页通过以上信息我们可以看出无论国外的 facebook 还是国内被广泛使用的Q

12、Q 他们都只是仅仅做了通讯功能,并未做定位功能。而国内的如高德地图,百度地图它们就仅仅做了导航、定位功能,并未做聊天、通信定位功能。所以我开发出一款基于定位与聊天为主要功能搭载在安卓移动手机平台的软件人人地图。人人地图侧重点是实现相互聊天与定位功能。为广大的出行朋友提供导航,通信、定位功能一体化的服务。1.3 系统功能实现主要功能1)此项目实现了客户端首次定位,可以让用户知道自己现在什么地方,什么方位为用户提供首次导航功能。2)进行了首次定位,用户可以打开右上角的菜单栏,里面有登录,注册功能。用户想实现聊天与定位首先得进行登录与注册。3)用户登录注册成功后,进入到好友列表界面,点击好友列表,就

13、可以通过我们自定义 xmpp 即时通讯协议,进行聊天通话。4)进入聊天界面后,客户端点击右上角的定位按钮,你就可以定位到你的好朋友现在的位置2 系统界面及菜单设计2.1 前期主界面设计前期主界面如下图,顶部希望有个搜索功能,就如高德、百度的 poi 检索功能一样,用户输入一些关键字可以搜素出用户感兴趣的区域。右边有个路况,代表现在地图是在 3D 模式下还是在卫星模式下。模式是用户可以自己设置导航这里模式有定位、跟随、和旋转 3 种模式可供用户选择。全景我希望用户点击进去可以能够有个实地街景的效果,用户点击附近按钮,可以检索到附近的上线的朋友。用户点击地图上的加号和减号,可以实现地图的放大缩小功

14、能。最后在屏幕中央显示地图,并显示你当前的位置。第 3 页 共 26 页2.2 前期菜单页面设计这里是菜单界面,整个菜单界面是用安卓布局里的线性布局实现的如同一张表的样式,第一个按钮是登陆按钮,用户输入自己注册的用户名及密码然后点击登陆按钮。登陆按钮地方原本想如同网易,QQ 客户端那样放一张图片,登陆后显示用户的头像界面。用户点击附近人群可以显示附近已上线的好友位置,第三个是定位功能,可以定位到对方的位置,设置按钮提供用户去设置一些私人信息。消息按钮进入到消息界面,查看好友发送过来的消息以及你发送出去的历史消息。第 4 页 共 26 页点击登录键会跳转到一个登录页面中,点击好友列表会跳转到一个

15、好友列表界面。3 地图3.1 地图展示3.1.1 申请高德地图 API 开发 key对于每一个使用高德地图进行开发的人,他都需要在高德地图官网 API 申请自己的 key 值然后下载高德地图提供的.so 库以及 jar 包如图 1 和 2.第 5 页 共 26 页3.1.2 主界面显示地图前期工作准备好了以后,我们就准备将高德地图显示在主界面中,首先我们在主程序里引用中继数据,这里的中继数据就是 metadata 这个标记是安卓为引用外部数据而提供的一个借口其中 name 为高德地图 api 唯一标示,value 值为你在官网申请的 key 值。然后在布局文件中写入高德地图控件。这里 id 是

16、地图控件的唯一标示,通过这个 id 你可以获得地图控件对象从而对地图控件进行操作。在主 Activity 中调用mapView = (MapView) findViewById(R.id.map);获得 map 地图对象mapView.onCreate(savedInstanceState);将地图与 Activity 生命周期绑定protected void onResume() super.onResume();mapView.onResume();Intent intent = getIntent();if (intent.hasExtra(“p“) addMarkersToMap();

17、Overrideprotected void onPause() 在 activity 被销毁时解除定位绑定super.onPause();mapView.onPause();deactivate();Overrideprotected void onSaveInstanceState(Bundle outState) super.onSaveInstanceState(outState);mapView.onSaveInstanceState(outState);Overrideprotected void onDestroy() 在 activity 销毁时,将地图对象一并销毁super.

18、onDestroy();mapView.onDestroy();这样我们就将高德地图展示在主界面上了3.1.3主界面布局及地图首次定位主界面布局采用安卓相对布局,主界面一个单选按钮组件,下面放置了一第 7 页 共 26 页个地图控件。在地图控件里我们实现首次定位功能,显示系统小蓝点。private void setUpMap() System.out.println(“setupmap-“);aMap.setLocationSource(this);/ 设置定位监听aMap.getUiSettings().setMyLocationButtonEnabled(true);/ 设置默认定位按钮是

19、否显示aMap.setMyLocationEnabled(true);/ 设置为 true 表示显示定位层并可触发定位,false 表示隐藏定位层并不可触发定位,默认是 false/ 设置定位的类型为定位模式 ,可以由定位、跟随或地图根据面向方向旋转几种aMap.setMyLocationType(AMap.LOCATION_TYPE_MAP_ROTATE);在 setupmap 方法里我们设置地图定位的一些参数,并为地图对象绑定了监听,绑定好监听后系统会回调 activate 方法public void activate(OnLocationChangedListener listener)

20、 mListener = listener;System.out.println(“activate-“);if (mAMapLocationManager = null) mAMapLocationManager = LocationManagerProxy.getInstance(this);mAMapLocationManager.setGpsEnable(false);/* mAMapLocManager.setGpsEnable(false);* 1.0.2 版本新增方法,设置 true 表示混合定位中包含 gps定位,false 表示纯网络定位,默认是 true Location* API 定位采用 GPS 和网络混合定位方式* ,第一个参数是定位 provider,第二个参数时间最短是2000 毫秒,第三个参数距离间隔单位是米,第四个参数是定位监听者*/mAMapLocationManager.requestLocationData(LocationProviderProxy.AMapNetwork, 30000, 10, this);在方法里我们获得了一个 mAMapLocationManager 位置管理对象,通过位置

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。