电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android實現地圖軌跡的方法

瀏覽:4日期:2022-09-19 14:23:32

本文實例為大家分享了Android實現地圖軌跡的具體代碼,供大家參考,具體內容如下

mainActivity.java

package com.example.amapdemo;import android.app.Activity;import android.os.Bundle;import android.widget.Toast;import com.amap.api.track.AMapTrackClient;import com.amap.api.track.ErrorCode;import com.amap.api.track.OnTrackLifecycleListener;import com.amap.api.track.TrackParam;import com.amap.api.track.query.entity.LocationMode;import com.amap.api.track.query.model.AddTerminalRequest;import com.amap.api.track.query.model.AddTerminalResponse;import com.amap.api.track.query.model.AddTrackResponse;import com.amap.api.track.query.model.DistanceResponse;import com.amap.api.track.query.model.HistoryTrackResponse;import com.amap.api.track.query.model.LatestPointResponse;import com.amap.api.track.query.model.OnTrackListener;import com.amap.api.track.query.model.ParamErrorResponse;import com.amap.api.track.query.model.QueryTerminalRequest;import com.amap.api.track.query.model.QueryTerminalResponse;import com.amap.api.track.query.model.QueryTrackResponse;public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final AMapTrackClient aMapTrackClient = new AMapTrackClient(getApplicationContext());final long serviceId = 291742; // 這里填入你創建的服務idfinal String terminal = 'user-123'; // 唯一標識某個用戶或某臺設備的名稱aMapTrackClient.setInterval(5, 30);//報周期設置為30s:aMapTrackClient.setCacheSize(20);//設置緩存aMapTrackClient.setLocationMode(LocationMode.DEVICE_SENSORS);//定位final OnTrackLifecycleListener onTrackLifecycleListener = new OnTrackLifecycleListener() { @Override public void onBindServiceCallback(int i, String s) { } @Override public void onStartGatherCallback(int status, String msg) {if (status == ErrorCode.TrackListen.START_GATHER_SUCEE || status == ErrorCode.TrackListen.START_GATHER_ALREADY_STARTED) { Toast.makeText(MainActivity.this, '定位采集開啟成功!', Toast.LENGTH_SHORT).show();} else { Toast.makeText(MainActivity.this, '定位采集啟動異常!', Toast.LENGTH_SHORT).show();} } @Override public void onStartTrackCallback(int status, String msg) {if (status == ErrorCode.TrackListen.START_TRACK_SUCEE || status == ErrorCode.TrackListen.START_TRACK_SUCEE_NO_NETWORK || status == ErrorCode.TrackListen.START_TRACK_ALREADY_STARTED) { aMapTrackClient.startGather(this);} else { Toast.makeText(MainActivity.this, '軌跡上報服務服務啟動異常,' + msg, Toast.LENGTH_SHORT).show();} } @Override public void onStopGatherCallback(int i, String s) { } @Override public void onStopTrackCallback(int i, String s) { }};//queryTerminalRequest=new QueryTerminalRequest(serviceId, terminal);//aMapTrackClient.queryTerminal(queryTerminalRequest,DriverNewOrderActivity.this);aMapTrackClient.queryTerminal(new QueryTerminalRequest(serviceId, terminal), new OnTrackListener() { @Override public void onQueryTerminalCallback(QueryTerminalResponse queryTerminalResponse) {if (queryTerminalResponse.isSuccess()) { if (queryTerminalResponse.getTid() <= 0) {aMapTrackClient.addTerminal(new AddTerminalRequest(terminal, serviceId), new OnTrackListener() { @Override public void onQueryTerminalCallback(QueryTerminalResponse queryTerminalResponse) { } @Override public void onCreateTerminalCallback(AddTerminalResponse addTerminalResponse) {if (addTerminalResponse.isSuccess()) { long terminalId = addTerminalResponse.getTid(); aMapTrackClient.startTrack(new TrackParam(serviceId, terminalId), onTrackLifecycleListener);} else { Toast.makeText(MainActivity.this, '請求失敗,' + addTerminalResponse.getErrorMsg(), Toast.LENGTH_SHORT).show();} } @Override public void onDistanceCallback(DistanceResponse distanceResponse) { } @Override public void onLatestPointCallback(LatestPointResponse latestPointResponse) { } @Override public void onHistoryTrackCallback(HistoryTrackResponse historyTrackResponse) { } @Override public void onQueryTrackCallback(QueryTrackResponse queryTrackResponse) { } @Override public void onAddTrackCallback(AddTrackResponse addTrackResponse) { } @Override public void onParamErrorCallback(ParamErrorResponse paramErrorResponse) { }}); } else {long terminalId = queryTerminalResponse.getTid();aMapTrackClient.startTrack(new TrackParam(serviceId, terminalId), onTrackLifecycleListener); }} else { Toast.makeText(MainActivity.this, '請求失敗,' + queryTerminalResponse.getErrorMsg(), Toast.LENGTH_SHORT).show();} } @Override public void onCreateTerminalCallback(AddTerminalResponse addTerminalResponse) { } @Override public void onDistanceCallback(DistanceResponse distanceResponse) { } @Override public void onLatestPointCallback(LatestPointResponse latestPointResponse) { } @Override public void onHistoryTrackCallback(HistoryTrackResponse historyTrackResponse) { } @Override public void onQueryTrackCallback(QueryTrackResponse queryTrackResponse) { } @Override public void onAddTrackCallback(AddTrackResponse addTrackResponse) { } @Override public void onParamErrorCallback(ParamErrorResponse paramErrorResponse) { }}); }}

androidMainifest配置文件

<?xml version='1.0' encoding='utf-8'?><manifest xmlns:android='http://schemas.android.com/apk/res/android' xmlns:tools='http://schemas.android.com/tools' package='com.example.amapdemo'> <!--允許程序打開網絡套接字--> <uses-permission android:name='android.permission.INTERNET' /> <!--允許程序設置內置sd卡的寫權限--> <uses-permission android:name='android.permission.WRITE_EXTERNAL_STORAGE' /> <!--允許程序讀寫手機狀態和身份--> <uses-permission android:name='android.permission.READ_PHONE_STATE' /> <!--允許程序訪問CellID或WiFi熱點來獲取粗略的位置--> <uses-permission android:name='android.permission.ACCESS_COARSE_LOCATION' /> <uses-permission android:name='android.permission.WAKE_LOCK'/> <uses-permission android:name='android.permission.BLUETOOTH'/> <!--用于進行網絡定位--> <uses-permission android:name='android.permission.ACCESS_COARSE_LOCATION'/> <!--用于訪問GPS定位--> <uses-permission android:name='android.permission.ACCESS_FINE_LOCATION'/> <!--用于獲取運營商信息,用于支持提供運營商信息相關的接口--> <uses-permission android:name='android.permission.ACCESS_NETWORK_STATE'/> <!--用于訪問wifi網絡信息,wifi信息會用于進行網絡定位--> <uses-permission android:name='android.permission.ACCESS_WIFI_STATE'/> <!--用于獲取wifi的獲取權限,wifi信息會用來進行網絡定位--> <uses-permission android:name='android.permission.CHANGE_WIFI_STATE'/> <!--用于申請調用A-GPS模塊--> <uses-permission android:name='android.permission.ACCESS_LOCATION_EXTRA_COMMANDS'/> <!--用于進行網絡定位--> <uses-permission android:name='android.permission.ACCESS_COARSE_LOCATION'></uses-permission> <!--用于訪問GPS定位--> <uses-permission android:name='android.permission.ACCESS_FINE_LOCATION'></uses-permission> <!--獲取運營商信息,用于支持提供運營商信息相關的接口--> <uses-permission android:name='android.permission.ACCESS_NETWORK_STATE'></uses-permission> <!--用于訪問wifi網絡信息,wifi信息會用于進行網絡定位--> <uses-permission android:name='android.permission.ACCESS_WIFI_STATE'></uses-permission> <!--這個權限用于獲取wifi的獲取權限,wifi信息會用來進行網絡定位--> <uses-permission android:name='android.permission.CHANGE_WIFI_STATE'></uses-permission> <!--用于訪問網絡--> <uses-permission android:name='android.permission.INTERNET'></uses-permission> <!--用于讀取手機當前的狀態--> <uses-permission android:name='android.permission.READ_PHONE_STATE'></uses-permission> <!--寫入擴展存儲,向擴展卡寫入數據,用于寫入緩存定位數據--> <uses-permission android:name='android.permission.WRITE_EXTERNAL_STORAGE'></uses-permission> <!--用于申請調用A-GPS模塊--> <uses-permission android:name='android.permission.ACCESS_LOCATION_EXTRA_COMMANDS'></uses-permission> <!--用于申請獲取藍牙信息進行室內定位--> <uses-permission android:name='android.permission.BLUETOOTH'></uses-permission> <uses-permission android:name='android.permission.BLUETOOTH_ADMIN'></uses-permission> <applicationandroid:allowBackup='true'android:icon='@mipmap/ic_launcher'android:label='@string/app_name'android:roundIcon='@mipmap/ic_launcher_round'android:supportsRtl='true'android:theme='@style/Theme.AMapDemo'><!--<service android:name='com.amap.api.track.AMapTrackService' />--><service android:name='com.amap.api.location.APSService' /><activity android:name='.MainActivity'> <intent-filter><action android:name='android.intent.action.MAIN' /><category android:name='android.intent.category.LAUNCHER' /> </intent-filter></activity><meta-data android:name='com.amap.api.v2.apikey' android:value='388784de5a9c159ac13b5e3db130c0ad'/><service android:name='com.amap.api.track.AMapTrackService' /> </application></manifest>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
主站蜘蛛池模板: 洁净实验室工程-成都手术室净化-无尘车间装修-四川华锐净化公司-洁净室专业厂家 | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 防水套管厂家-柔性防水套管-不锈钢|刚性防水套管-天翔管道 | 台湾阳明固态继电器-奥托尼克斯光电传感器-接近开关-温控器-光纤传感器-编码器一级代理商江苏用之宜电气 | 烟台螺纹,烟台H型钢,烟台钢材,烟台角钢-烟台市正丰金属材料有限公司 | 数字展示在线_数字展示行业门户网站| 集装袋吨袋生产厂家-噸袋廠傢-塑料编织袋-纸塑复合袋-二手吨袋-太空袋-曹县建烨包装 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 高压管道冲洗清洗机_液压剪叉式升降机平台厂家-林君机电 | 裹包机|裹膜机|缠膜机|绕膜机-上海晏陵智能设备有限公司 | ★济南领跃标识制作公司★济南标识制作,标牌制作,山东标识制作,济南标牌厂 | 西宁装修_西宁装修公司-西宁业之峰装饰-青海业之峰墅级装饰设计公司【官网】 | 论文查重_免费论文查重_知网学术不端论文查重检测系统入口_论文查重软件 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 低噪声电流前置放大器-SR570电流前置放大器-深圳市嘉士达精密仪器有限公司 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 不锈钢列管式冷凝器,换热器厂家-无锡飞尔诺环境工程有限公司 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 胜为光纤光缆_光纤跳线_单模尾纤_光纤收发器_ODF光纤配线架厂家直销_北京睿创胜为科技有限公司 - 北京睿创胜为科技有限公司 | 一体式钢筋扫描仪-楼板测厚仪-裂缝检测仪-泰仕特(北京) | 万家财经_财经新闻_在线财经资讯网 | 钢结构-钢结构厂房-钢结构工程[江苏海逵钢构厂]| 南京雕塑制作厂家-不锈钢雕塑制作-玻璃钢雕塑制作-先登雕塑厂 | 浙江红酒库-冰雕库-气调库-茶叶库安装-医药疫苗冷库-食品物流恒温恒湿车间-杭州领顺实业有限公司 | 耐磨焊丝,堆焊焊丝,耐磨药芯焊丝,碳化钨焊丝-北京耐默公司 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 选宝石船-陆地水上开采「精选」色选机械设备-青州冠诚重工机械有限公司 | 深圳网站建设-高端企业网站开发-定制网页设计制作公司 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 溶氧传感器-pH传感器|哈美顿(hamilton) | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 防潮防水通风密闭门源头实力厂家 - 北京酷思帝克门窗 | 东莞办公家具厂家直销-美鑫【免费3D效果图】全国办公桌/会议桌定制 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 海南在线 海南一家 | 单螺旋速冻机-双螺旋-流态化-隧道式-食品速冻机厂家-广州冰泉制冷 |