freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于j2me平臺的gps導(dǎo)航系統(tǒng)畢業(yè)設(shè)計論文(2)(已改無錯字)

2023-07-06 13:15:39 本頁面
  

【正文】 各電信商的擴展 API 的時候,制作給移動電話用的 MIDlet 也將可以使用在 Palm OS 上面。由于未來 MIDP 也將會搭載到不同設(shè)備之上,也由于其兼容性高,只要寫過一次程序,就可以在其他移動電話或是移動電話以外的設(shè)備上執(zhí)行;而這也就是它最大的好處。 JSR179 開發(fā)包 Java ? 2 Platform, Micro Edition (J2ME ? ) (JSR179 參考 API 在 S60 和 Series 40 第三版中都提到,這是一個可以在大多數(shù) J2ME 中使用的可選包。 API 需要的最低平臺為 Connected LimitedDevice Configuration (CLDC) ,因為 API 需要數(shù)學(xué)浮點運算的支持。 S60 和 Series 40 同樣支持 MM API,詳情請參考 Location API for J2ME?定位 API的目的就是開發(fā)具有定位功能的設(shè)備的應(yīng)用程序。根據(jù)設(shè)備的自然情況, API 提供利用設(shè)備的方法。另外,定位 API 是很多易用的類和接口的壓縮包,其在開發(fā)移動應(yīng)用程序的時候具有以下三個特點: (1)獲取設(shè)備的位置信息 (2)創(chuàng)建、編輯、存儲、銷毀陸標(biāo) (3)獲取設(shè)備的定位 定位 API 首先需要連接一個定位方法,利用定位方法產(chǎn)生定位對象,每種定位方法都不一樣。比如,各種方法所需要的時間都不一樣,每種方法的精確度也不一樣。最常用的方法有基于設(shè)備 (比 如 GPS,這種方法基于衛(wèi)星全球定位系統(tǒng) )、基于網(wǎng)絡(luò) (比如蜂窩,這種方法中網(wǎng)絡(luò)決定了位置 ),還有混合方法 (比如 AGPS 方法,這種方法利用網(wǎng)絡(luò)信息來加速定位 )。 下面的圖表顯示了 API MIDLet 使用 GPS 定位方法來定位的結(jié)構(gòu)。對 MIDLet 在SDK 環(huán)境中檢測后,還必須在真實的環(huán)境中進行檢測,來確保正確運行。真實的環(huán)境意味著在支持移動定位的設(shè)備中使用 API 定位。 10 圖 24 定位 API 使用 GPS 定位模型圖 Google API 簡介 本文軟件中只用到兩個 Google API,分別是 Google Static Maps API 和 Google Directions API。 Google Static Maps API,通過網(wǎng)址返回圖像 (GIF、 PNG 或 JPEG)來響應(yīng) HTTP 請求。您可以為每個請求指定地圖的位置、圖像的大小、縮放的級別、地圖的類型以及可選擇標(biāo)記在地圖各個位置上的放置。些外,您還可以使用字母 字符為您的標(biāo)記制作標(biāo)簽,以便在“關(guān)鍵字”中引用這些標(biāo)記。 Google Directions API, 是一種使用 HTTP 請求計算多個位置間路線的服務(wù)。路線可以以文本字符串 (如 “Chicago, IL”或 “Darwin, NSW, Australia”)或緯度 /經(jīng)度坐標(biāo)的形式指定起點、目的地和路標(biāo)。 Google Directions API 可以使用一系列路標(biāo)傳回多段路線。此服務(wù)通常適用于計算路線的靜態(tài) (事先已知 )地址,以便將應(yīng)用程序內(nèi)容放置在地圖上;但此服務(wù)不適用于對用戶輸入的內(nèi)容進行實時響應(yīng)。有關(guān)動態(tài) 路線計算 (例如,在用戶界面元素中 ),請參見 JavaScript API V3 Directions Service 文檔。計算路線是一種耗時、耗資源的任務(wù)。如果可能,系統(tǒng)會使用此處介紹的服務(wù)提前計算已知地址,并將結(jié)果存儲在您自己設(shè)計的臨時緩存中。 路徑規(guī)劃的技術(shù)選擇 路徑規(guī)劃在導(dǎo)航系統(tǒng)軟件中 是必不可少的一部分,主要用于為用戶提供起始位置到目的地的最優(yōu)路徑或最短路徑。下面介紹路徑規(guī)劃中的兩種方法,以及本文最終選擇的方法。 A 算法實現(xiàn)最短路徑搜索 A*搜尋算法,俗稱 A 星算法,作為啟發(fā)式搜索算法中的一種,這是一種在圖形平 11 面上,有多個節(jié)點的路徑,求出最低通過成本的算法。常用于游戲中的 NPC 的移動計算,或線上游戲的 BOT 的移動計算上。該算法像 Dijkstra 算法一樣,可以找到一條最短路徑;也像 BFS 一樣,進行啟發(fā)式的搜索。 A*算法最為核心的部分,就在于它的一個估值函數(shù)的設(shè)計上: f(n)=g(n)+h(n);其中 f(n)是每個可能試探點的估值,它有兩部分組成:一部分,為 g(n),它表示從起始搜索點到當(dāng)前點的代價 (通常用某結(jié)點在搜索樹中的深度來表示 )。另一部分,即 h(n),它表示啟發(fā)式搜索中最為重要的一部分,即當(dāng)前結(jié)點到目標(biāo)結(jié)點的估值, h(n)設(shè)計的好壞,直接影響著具有此種啟發(fā)式函數(shù)的啟發(fā)式算法的是否能稱為 A*算法。 一種具有 f(n)=g(n)+h(n)策略的啟發(fā)式算法能成為 A*算法的充分條件是: 搜索樹上存在著從起始點到終點的最優(yōu)路徑。 問題域是有限的。 所有結(jié)點的子結(jié)點的搜索代價值 0。 h(n)=h*(n) (h*(n)為實際問題的代價值 )。 當(dāng)此四個條件都滿足時,一個具有 f(n)=g(n)+h(n)策略的啟發(fā)式算法能成為 A*算法,并一定能找到最優(yōu)解。 對于一個搜索問題,顯然,條件 1,2,3 都是很容易滿足的,而條件 4: h(n)=h*(n)是需要精心設(shè)計的,由于 h*(n)顯然是無法知道的,所以,一個滿足條件 4 的啟發(fā)策略h(n)就來的難能可貴了。 不過,對于圖的最優(yōu)路徑搜索和八數(shù)碼問題,有些相關(guān)策略 h(n)不僅很好理解,而且 已經(jīng)在理論上證明是滿足條件 4 的,從而為這個算法的推廣起到了決定性的作用。 并且 h(n)距離 h*(n)的呈度不能過大,否則 h(n)就沒有過強的區(qū)分能力,算法效率并不會很高。對一個好的 h(n)的評價是: h(n)在 h*(n)的下界之下,并且盡量接近 h*(n)。 Google Directions API 提供服務(wù) Google Directions API 主要服務(wù)就是為了計算路線??蛻舳税l(fā)送路線請求,服務(wù)器根據(jù)請求,以 XML 或 JSON 形式輸出給客戶端。 Google Directions API 請求 是以下形式的 HTTP 網(wǎng)址 : 其中, output 可能是以下任何一個值: (1)json(建議 )表示以 JavaScript 對象表示法 (JSON) 的形式輸出 (2)xml 表示以 XML 的形式輸出 而 parameter 則為請求的參 數(shù),有些參數(shù)必填,而有些參數(shù)則是可選參數(shù)。根據(jù)網(wǎng)址的標(biāo)準(zhǔn),所有參數(shù)均使用字符 amp。分隔。下面枚舉了這些參數(shù)及其可能的值。 Google Directions API 使用以下網(wǎng)址參數(shù)定義路線請求: (1)origin(必填 ) 希望根據(jù)其計算路線的地址或文本緯度 /經(jīng)度值。 12 (2)destination(必填 ) 希望根據(jù)其計算路線的地址或文本緯度 /經(jīng)度值。 (3)mode(可選,默認(rèn)為 driving) 指定計算路線時使用的出行方式。在 出行方式 中指定有效的值。 (4)waypoints(可選 )指定一組路標(biāo)。路標(biāo)通過經(jīng)過指定的位置可以改變路線。可以以緯度 /經(jīng)度坐標(biāo)或?qū)⑦M行地址解析的地址的形式指定路標(biāo)。 (5)alternatives(可選 )設(shè)置為 true 時,可以指定路線服務(wù)可以在響應(yīng)中提供多條備選路線。請注意,提供備選路線可能增加服務(wù)器的響應(yīng)時間。 (6)avoid(可選 )指示計算的 路線應(yīng)避開指定的地圖項。目前,此參數(shù)支持以下兩個參數(shù): tolls 指示計算的路線應(yīng)避開收費公路 /橋梁。 highways 指示計算的路線應(yīng)避開高速公路。 (7)language(可選 ) 傳回結(jié)果時所使用的語言。請參見 支持的區(qū)域語言列表 。請注意,我們會經(jīng)常更新支持的語言,因此該列表可能并不詳盡。如果未提供 language,那么,路線服務(wù)將會盡可能地嘗試 使用瀏覽器的本機語言。您還可以通過使用 的本地化域明確設(shè)置結(jié)果偏向。 (8)sensor(必填 ) 指示路線請求是否來自裝有位置傳感器的設(shè)備。該值必須為 true 或 false。 路線規(guī)劃最終方法選擇 啟發(fā)式 A 算法可以高效快捷地尋找出起點到終點的最短路徑,用于空間固定的局部地區(qū)地圖的路徑搜索是個不錯的選擇。本文系統(tǒng)開始也打算用 A 算法來實現(xiàn)路徑規(guī)劃,但通過實踐發(fā)現(xiàn)用 A 算法來實現(xiàn),有三大問題:第一、只能對空間固定的局部地區(qū)實現(xiàn)路線規(guī)劃,這樣便限制了軟件 的使用范圍;第二、地圖切割道路網(wǎng)標(biāo)記工作量太大,切割成的圖片塊大小也直接影響路線規(guī)劃的最短路徑獲取;第三、顯示的最短路徑存在違背交通規(guī)則的情況。 而 Google Directions API 可以選擇不在道路上的點,而根據(jù)該點最近道路上的點來進行路線規(guī)劃,可以使選擇起點和終點時不一定要在道路上;另外使用 Google Directions API,我們便不再需要對地圖進行切割并標(biāo)記道路網(wǎng)了,使用 Google Directions API 可以以 XML 的形式將起點到終點的最優(yōu)路徑上的所有拐點信息發(fā)送給客戶端,客戶端 只需要解析 XML 文件即可,而解析工作主要用 kxml 進行解析。 13 第三章 軟件需求分析 本章主要介紹本文系統(tǒng)的需求,包括用戶的具體需求介紹、根據(jù)需求而劃分的具體功能模塊的 介紹。 用戶需求 該手機軟件將是一款面向 3G、支持 OGC 標(biāo)準(zhǔn)的移動地圖軟件,預(yù)計最終實現(xiàn)以下一些功能: (1) 地圖瀏覽:支持地圖的放大、縮小、平移; (2) 地圖查詢:支持屬性查詢、空間查詢以及屬性與空間的混合查詢; (3) POS(Points of Interest,興趣點 )的查詢、定位和添加。即在某個區(qū)域范圍內(nèi),搜 索并定位用戶列出選擇條件的 POS,查詢到適合的 POS 后,必須把用戶當(dāng)前的關(guān)注點設(shè)置為該 POS 所在的區(qū)域。在瀏覽地圖的過程中,用戶會記錄他們感興趣的一些點,例如,餐館、旅游景點等。以后用戶就可以通過這些記錄直接定位到這些點所在的地圖位置。 (4) 線路規(guī)劃和引導(dǎo):規(guī)劃用戶從當(dāng)前為當(dāng)前位置到目的地的路線,以及經(jīng)過該路線過程中的引導(dǎo)。 功能模塊劃分 基于需求,我們設(shè)計了相關(guān)的功能 去實現(xiàn)我們的需求 ,下面便是相關(guān)功能模塊的介紹及實現(xiàn)。 14 功能模塊圖 圖 31 塊能模塊圖 功能要求 系統(tǒng)主要實現(xiàn) 功能及描述 : (1)實時定位:能夠根據(jù)用戶當(dāng)前位置,實時更新用戶當(dāng)前位置在地圖上的顯示。 (2)地圖自由瀏覽:可以在聯(lián)網(wǎng)或離線狀態(tài)下自由瀏覽地圖,聯(lián)網(wǎng)狀態(tài)可以瀏覽任意地點的地圖,但離線狀態(tài)下只能瀏覽當(dāng)前獲取到的局部地區(qū)的地圖。 (3)地圖放大、縮?。褐С致?lián)網(wǎng)狀態(tài)下,對地圖進行放大、縮小 (4)興趣點添加:可以將指定地點 (需給出確定經(jīng)緯度 )、當(dāng)前位 置添加為 興趣點 (即添加到 LandmarkStore 里 )。 (5)興趣點查詢、刪除、鎖定:能夠查 詢用戶添加的興趣點,并能對其刪除、鎖定(即將該興趣點顯示在手機屏幕中心 )。 (6)路徑規(guī)劃:用戶可以選擇地圖上兩點 (需在道路上 )后,能夠?qū)牲c間 規(guī)劃好的手機 GPS 導(dǎo)航系統(tǒng) 在線地圖模塊 離線地圖模塊 地圖自由瀏覽 實時定位 興趣點添加 興趣點查詢、刪除、鎖定 路線規(guī)劃(最短路徑搜索) 興趣點的顯示、靠近動畫 地圖放大、縮小 指定地點指定范圍內(nèi)興趣點搜索 15 路徑顯示在地圖上。 (7)興趣點的顯示與靠近動畫:能夠根據(jù)興趣點坐標(biāo)將興趣點顯示在地圖上,用戶靠近某興趣點時,在該興趣點上顯示靠近動畫。 (8)指定地點范圍內(nèi)興趣點的搜索:能夠?qū)χ付ǖ攸c或當(dāng)前位置的指定范圍內(nèi)興趣點進行搜索。 16 第四章 詳細(xì)設(shè)計與開發(fā) 本章主要介紹本文系統(tǒng)的詳細(xì)設(shè)計與開 發(fā),包括一般 MIDlet 程序開發(fā)流程介紹、本文系統(tǒng)各功能模塊的詳細(xì)設(shè)計 及 功能 模塊的相關(guān)流程邏輯介紹。 MIDlet 開發(fā)流程介紹 一個 MIDlet 程序的開發(fā)流程可分為這樣幾個階段 : (1)代碼的編寫,產(chǎn)生 .java 文件 (2)代碼的編譯,產(chǎn)生 .class 文件 (3)預(yù)審核 class 文件 (4)模擬器上,發(fā)生錯誤重新編寫代碼 下圖是 MIDlet 開發(fā)的完整流程: 圖 41 MIDlet 開發(fā)流程 Edit Compile Java files Classes files Preverify Preverified class files Run or Debug on Emulated Device Application Resource (Text,Image) Emulated D
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1