[發明專利]一種基于osmdroid地圖引擎的目標標記繪制方法在審
| 申請號: | 202210702454.8 | 申請日: | 2022-06-21 |
| 公開(公告)號: | CN114896356A | 公開(公告)日: | 2022-08-12 |
| 發明(設計)人: | 梁旗軍;舒堅;郭忻澤;楊豐玉;鄭巍;樊鑫 | 申請(專利權)人: | 南昌航空大學 |
| 主分類號: | G06F16/29 | 分類號: | G06F16/29;G06T11/20 |
| 代理公司: | 西安合創非凡知識產權代理事務所(普通合伙) 61248 | 代理人: | 楊蕾 |
| 地址: | 330063 江*** | 國省代碼: | 江西;36 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 osmdroid 地圖 引擎 目標 標記 繪制 方法 | ||
1.一種基于osmdroid地圖引擎的目標標記繪制方法,其特征在于,包括:
S1,初始化map和marker,首先,系統會初始化通過MarkerEntity類,當用戶手動觸發監聽圖層,系統會將新增加的marker點數據存儲到隊列上;
S2,獲取數據庫中已有的marker點數據,當用戶觸發map層、marker層,系統會自動初始化其參數,如當前map層得地圖碎片以及marker層的經緯度坐標、名稱、簡介、uid,同時觸發用戶對新創建marker層的監聽事件,一旦用戶選擇觸發marker圖層中新的marker監聽事件,系統會從數據庫中讀取系統會將該點的標記數據位置通過經緯度換算方法,其相關數據將存入內存隊列之中,至此,marker點操作過程結束;
S3,保存圖層目標及其指導對象,執行步驟S1之后,會根據相應的圖層目標對象將數據寫入內存保存圖層中的對象并寫入內存中觸發marker層的監聽事件,系統會將該點的標記數據位置通過經緯度換算方法,建立相應的工具類myMarkerEntity,該類作用在于目標圖層對象在存儲時取出及逆行存儲,其指導對象傳遞過程中進行更新;
S4,marker點通過View進行渲染到地圖圖層上,當步驟S3執行完成,圖層目標對象將數據寫入內存保存圖層對象并觸發marker層監聽事件之后,在系統會將步驟S3中的內存隊列內圖層目標及其指導對象的相關數據獲取,并通過View.OnClickListener接口實現渲染到地圖圖層上的功能;當步驟S2完成后,該步操作目的在于系統初始化過程,讀取數據庫內原有的marker點的信息,然后通過View.OnClickListener接口實現渲染到地圖圖層上的功能,至此,內存過程工作結束;
S5,將marker的數據封裝并提交事務,此步驟目的在于將當前特殊的marker點從內存中提出并提交到后端數據庫及進行持久化存儲;將內存中的數據,上傳到數據庫備份;將隊列內的marker點數據通過提交事務的方式上傳到數據庫做持久化存儲,其詳細過程創建markerEntities對象,將其marker的自定義信息數據存入隊列,然后通過創建HashMap類型的數據對象及其知道對象進行二次封裝,存儲marker的集合,通過Dao類中的update方法實現信息上傳;
S6,事務提交到數據庫之中完成持久化存儲,添加到內存的圖層管理,然后,在管理里添加到數據庫,Overlay添加進內存之后, 確定數據包的類型,然后創建markerEntity對象,通過List對象進行存儲,最后通過Handler的sendMessage方法進行逐條上傳數據庫,至此,持久化存儲工作結束;
S7,步驟S6事務提交后系統將根據其生命周期選擇執行步驟S2或者結束。
2.根據權利要求1所述的基于osmdroid地圖引擎的目標標記繪制方法,其特征在于,還包括內存存儲工作流程,具體為:
S8,初始化所有組件,將組件均為實現人機交互功能組件,其功能有碎片管理器初始化、地圖組件初始化等;
S9,觸發數據監聽器,系統會根據我們預設代碼,觸發當前碎片下各種marker的數據監聽事件;
S10,判斷當前棧頂元素是否有變化即操作數據是否有變化;
S11,如果有變化,重新創建圖層,設置uuid,marker經緯度等信息;
S12,實例化ImageUtil類中的drawTextToCenterTop、drawTextToLeftBottom、drawTextToRightTop這些方法,這些方法都是根據Paint的方法類進行位置的確定;
S13,調用其內部的多個set方法,將變化的數據重新寫入內存隊列中,包括uid、marker坐標等信息;通過marker的方法類,將相關內容通過set的方法寫入內存隊列query之中;
S14,如果沒有變化,則跳過當前操作;
S15,當前碎片監聽事件繼續處于監聽狀態,等待提交事務的監聽事件被觸發,就會將隊列內的數據以提交事務的方式提交到數據庫中。
3.根據權利要求1所述的基于osmdroid地圖引擎的目標標記繪方法,其特征在于,還包括持久化存儲流程,具體為:
S16,初始化并創建實體類,實體類中包含overlay,調用addoverlay方法,將實體類存儲進內存中的圖層管理數組,當加入圖層管理數組之后,系統將自動完成持久化的存儲;
S17,實例化Overlay,即調用其getInstance()方法實現方法類實例化,啟動監聽器,將調用addToOverlayManager方法,將實體類存儲入內存中圖層的管理數組;
S18,加載圖層管理數組之后,將會進入持久化存儲階段;
S19,事務結束后將DBManagerUtil類通過getInstance()方法進行實例化并通過其內部dbStorage方法實現持久化存儲操作;基于markerinfo方法將數據存入內存,Markerinfofragment繼承fragment通過View的onclickListener()方法的接口,實現了通過提交數據的onClick()方法,將marker信息存入緩存隊列;
S20,通過getInstance()方法將存儲的信息做持久化存儲;
S21,將數據在mapView上,展示出來通過mapView的getOverlays方法中的add方法增加當前視圖內的marker圖層;
S22,提交事務結束后,通過getDao方法將context內特定信息存儲在sqlite數據庫之中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于南昌航空大學,未經南昌航空大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210702454.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種可調節的電力柜
- 下一篇:一種可翻轉的顯示屏收納機構及其收納方法





