最新
推荐
2014年高等教育信息化十大“关... 01-04 教育部成立教育信息化专家组 12-24
CERNET第二十一届学术年会 11-24 李志民:互联网促进人类文明迈... 11-15
|
Android 客户端功能的实现 客户端功能主要有6 大功能。 1. 最重要的功能为实时定位功能,实现实时定位功能首先初始化百度地图,接着添加一个监听器,一旦发现设备的位置有变化,系统将重新定位并在地图上标示出来,向位置云上传最新的位置信息,这样就完成了实时定位的功能。部分主要函数如下: BMapApiDemoApp app = (BMapApiDemoApp) this. getApplication(); super.initMapActivity(app.mBMapMan); // 如果使用地图SDK,请初始化地图Activity mLocationListener = new LocationListener() {//注册定位事件,当位置发生变化则重新定位 public void onLocationChanged(Location location) {} }; timer.scheduleAtFixedRate(new TimerTask() {// 定时器,每10 秒进行一次位置信息上传操作 }, 0, 10000); 2. 查看轨迹功能的实现主要依靠与位置云的通信,首先通过HTTP 通信获取位置云上的本用户的位置数据,接着将这些位置数据多点标示在地图上已实现此功能,部分主要函数如下: new BGTask(Route.this, "track") //HTTP 通信的调用接口,获取位置云上本用户的历史轨迹 .execute(CallService.puburl, "action", "getUserHisPosition", "uid",Check.getUid()); overitem = new OverItemR(marker, this, point, Check. getUsername(), str); mMapView.getOverlays().add(overitem);// 百度地图API,将获取的位置信息标示在地图上 3. 实现上传带上位置信息照片的功能,首先需要拍摄一张照片或者从本地选取一张照片,接着取出照片中的位置信息,最后将照片连同位置信息上传至位置云。部分主要函数如下: Intent intent1 = new Intent("android.media.action.IMAGE_ CAPTURE"); startActivityForResult(intent1, TAKE_PHOTO);// 调用拍摄照片的API intent2.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(intent2, FROM_GALLAARY);// 调用本地选取照片的API public static String uploadImage(String filename, String picTitle, String lat, String lon, String isposition)// 上传带有位置信息的照片函数 4. 周边生活服务,主要也是通过获取位置云上的服务信息实现。首先监听按钮事件,当用户选择生活服务种类时,向位置云发送获取服务信息种类的消息,位置云接受到此类消息,将会向客户端返回相关服务信息的内容,最后将服务信息的内容体现在客户端上完成,部分主要函数如下: smallIcon . set On Click Listener ( n w View . OnClickListener()// 监听按钮事件 n e w B G T a s k ( C h a n n e l i t e m . t h i s , " c h a n n e l " ) . execute(CallService.puburl, "action", "getChannel", "channel_id", chnid);// 通过HTTP 协议向位置云发送消息 this.simpleAdapter = new SimpleAdapter(this, this. list,R.layout.channellistitem, new String[] { "cname", "cd escription","clat","clon","icon" }// 显示获取的服务信息 5. 设备监管的实现首先需要用户上传自身设备的位置至位置云,其次,当用户选择查看设备时,与位置云通信,获取设备的最新位置,并完成此位置在地图上的标示。部分主要函数如下: n e w B G T a s k ( M y L o c a t i o n . t h i s , " t h i n g s " ) . execute(CallService.puburl, "action", "getTermInfo", "uid", Check.getUid());// 通过HTTP 协议获取设备的位置信息 o v e r i t e m = n e w O v e r I t e m T ( m a r k e r , t h i s , point,termname, str); mMapView.getOverlays().add(overitem);// 通过百度API 将位置信息标示在地图上
|
版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号
关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com