程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2ME >> 移動信息設備配置:定位API開發指南——定位API綜述

移動信息設備配置:定位API開發指南——定位API綜述

編輯:J2ME
移動信息設備配置:定位API開發指南——定位API綜述 作者:姜 譯    文章來源:諾基亞官方文檔    更新時間:2006-12-26 14:37:01 1227

此文為開發視界翻譯轉載者請注明出處(開發視界 www.sf.org.cn)否則追究法律責任
1 關於

本文檔是對Java平台的定位API進行介紹,這是一個可選包,可以應用於大多數JavaME平台。

除此之外,17頁的例子:Example: Tourist Route MIDlet描述和說明了MIDP: Location API Example得構架。Tourist Route參考http://www.forum.nokia.com/info/sw.nokia.com/id/

f7e8ad78-7898-4053-ab83-74c147923866/MIDP_Location_API_Example_Tourist_Route_v1_0.zip.Html.

注意:實例程序在SerIEs 40 環境下不能正常執行。

目標讀者

本文檔適合於MIDP開發人員,同樣也適用於用Java EE和Java SE在S60平台上開發移動程序和服務的開發人員。本文的讀者需要對MIDP2.0比較熟悉。

應用范圍

本文需要對開發和Java編程非常熟悉,最好熟悉企業級應用程序開發。但是並不需要了解移動環境的應用開發。

本文重點介紹定位API並不介紹Java開發技術。關於Java技術參考http://Java.sun.com/關於Java移動開發技術參考http://developer.sun.com/techtopics/mobility/更多關於MIDP工具和文檔,請訪問Nokia Forum和Mobile Java部分http://www.forum.nokia.com/main/resources/technologIEs/Java/

 

2 定位API綜述

Java™ 2 Platform, Micro Edition (J2ME™) (JSR-179參考 http://www.jcp.org/aboutJava/

communityprocess/final/JSr179/)的定位API在S60和SerIEs 40第三版中都提到,他是一個可以在大多數J2ME中使用的可選包。API需要的最低平台為Connected LimitedDevice Configuration (CLDC) 1.1,因為API需要數學浮點運算的支持。

S60和SerIEs 40同樣支持MM API,詳情請參考Location API for J2ME™

定位API的目的就是開發具有定位功能的設備的應用程序。根據設備的自然情況,API提供利用設備的方法。另外,定位API是很多易用的類和接口的壓縮包,其在開發移動應用程序的時候具有以下三個特點:

l         獲取設備的位置信息

l         創建、編輯、存儲、銷毀陸標

l         獲取設備的定位

定位API首先需要連接一個定位方法,利用定位方法產生定位對象,每種定位方法都不一樣。比如,各種方法所需要的時間都不一樣,每種方法的精確度也不一樣。最常用的方法有基於設備(比如GPS,這種方法基於衛星全球定位系統)、基於網絡(比如蜂窩,這種方法中網絡決定了位置),還有混合方法(比如A-GPS方法,這種方法利用網絡信息來加速定位)。

下面的圖表顯示了API MIDLet使用GPS定位方法來定位的結構。對MIDLet在SDK環境中檢測後,還必須在真實的環境中進行檢測,來確保正確運行。真實的環境意味著在支持移動定位的設備中使用API定位。


2.1 主要使用范圍

    定位服務是利用用戶的物理位置提供額外服務的應用程序。利用定位信息可以實現很多目的:

l         地圖,導航,以及結合指導功能的方位的應用

l         跟蹤和管理應用

l         交互式游戲和服務,比如體育新聞和報道

l         根據所在位置尋找附近目標位置

l         天氣預報

2.2 地理坐標系統

開始學習JSR-179前,需要對地理坐標系統的基礎知識進行了解。API使用的坐標是從全球測量系統(WGS84)(參考www.wgs84.com)獲取的。目前也使用全球定位系統(GPS)作為參考。

API中的坐標有緯度、經度和海拔組成。(這裡,海拔就是搞出海平面的高度。)下面的圖表中,地平線測量緯度。這些線代表了南北兩極間的位置。北極點是北緯90度(+90),南極點是南緯90度(-90)。最大的一圈是赤道,定義為0度。赤道以上的緯度從0度到9度,赤道一下的緯度從-90度到0度。

盡管如此,北極點的定義並非清楚。API可以使用地磁中的北極點,也可以使用地理中的北極點。事實上,在任何API應用程序中都必須檢測如何定位北極。

地磁中的北極點就是磁場的北極點,北極點並非精致不動的,而是每年都有數公裡的移動,地球兩極並非對稱,因為南北極點的移動式獨立的。北極點的定位是根據緯度制定的。南北兩極到赤道的距離是相等的。

下面圖表中連接南極點和北極點的是經線,他們的長度是相同的。經度實際上並沒有明確的起始位置,因此我們必須確定一個參考起點。最原始的經線是起始於英國倫敦的一個觀察站,子午線的值為0度。WGS84系統中定義的經度開始的位置於傳統經線起始位置向東100千米,子午線以東經線的值為0度到180度,子午線以西的經度的值為-180度到0度。

圖表2:經度和緯度,赤道和0度經線是用的是粗體。

從下面的圖中可以看出,越靠近兩極,緯線變得越來越小,在赤道,1度經線的緯線長約111.3千米60度經線的緯線長度只有55.8千米


30度和60度經度的緯線的長度是不同的。

2.3 開發環境

開發和測試定位API應用程序都可以在一個模擬環境中之執行。比如,S60第三版,FP1 SDK可以在定位API中用來模擬從一個位置轉移到另一個位置的過程。在模擬環境中測試需要位置數據。有很多方法都可以獲得這些數據,其中一種方法是使用提供的Rout工具,比如SerIEs 60第三版,Feature Pack 1 he MIDP(從prefs.exe中獲得)。利用這些工具可以記錄移動位置的數據,這些數據以NMEA 0183的形式存儲。NMEA0183是被廣泛應用於GPA數據轉移的標准格式。

如果要修改一個區域的坐標,輸入新的坐標(即可以使用“N”,也可以使用“S”),選擇“Load scale”。新的坐標就會顯示在正在描繪的圖象中。輸入新的坐標後,以前的坐標都將刪除,因此這樣很容易產生錯誤。當整個過程結束的時候可以選擇“Save”保存數據。選擇“Apply”可以允許SDK使用新建的坐標。下面的表格說明了一個Route工具的使用。

圖表4:定位工具

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved