13


使用位置 API

JSR 179 位置 API 可讓應用程式使用裝置的定位能力。例如,有的裝置內建全球定位系統 (GPS) 硬體。其他裝置可能能夠接收來自無線網路的定位資訊。無論基礎技術如何,位置 API 均可為定位資訊提供標準介面。

在位置 API 中,位置提供者可封裝定位方法並提供該裝置位置的資訊。應用程式請求提供者時,需指定所要精確度與回應時間等必要條件。如果有適當的實作,則應用程式可使用該實作取得有關裝置實體位置的資訊。

Sun JavaTM Wireless Toolkit for CLDC 包含一個模擬位置提供者。您可以使用模擬器的 [外部事件] 視窗,指定模擬器所處的位置。另外,您還可以配置提供者自身的特性並管理地標資料庫。


13.1 在執行階段設定模擬器的位置

您可以在模擬器執行時指定它的模擬位置。若要執行該操作,請從模擬器視窗功能表中選擇 [MIDlet] > [外部事件]。按一下 [位置] 標籤。請參閱圖 13-1

圖 13-1 控制模擬器中的位置

已選取 [位置] 標籤的 [外部事件產生器]

在標籤的 [位置] 區域,您可以填入緯度值、經度值、高度值、速度值以及方向值。使用位置 API 的應用程式可將這些值擷取為模擬器的位置。

如需更詳細的測試,請設定描述一段時間內運動的位置程序檔。位置程序檔是包含位置清單 (稱為航點) 與相關時間的 XML 檔案。Sun JavaTM Wireless Toolkit for CLDC 確定模擬器的目前位置時,會在位置程序檔的點中插入位置點。例如,以下是指定了起始點 (time="0") 的簡單位置程序檔,十秒鐘後該起始點將移至一個新點︰

<waypoints>
  <waypoint time="0"
            latitude="14" longitude="50" altitude="310" />
  <waypoint time="10000"
            latitude="14.5" longitude="50.1" altitude="215" /> 
</waypoints>

以公尺作為高度的測量單位,以毫秒作為時間的測量單位。

使用文字編輯器建立位置程序檔。按下 [程序檔] 欄位旁邊的 [瀏覽] 按鈕即可將該程序檔載入外部事件視窗。正下方即是用於播放、暫停、停止,以及移至該位置程序檔開頭與結尾的控制項。您也可以將時間滑動軸拖曳至某一特定點。

某些裝置還可以測量自己的方位。若要使您的應用程式可以使用此類資訊,請將 [方位] 方塊中的 [狀態] 欄位變更為 [受支援] 並填入方位角、間距以及滾動值。[磁方位] 核取方塊表示方位角與間距的測量單位是與地球磁場有關還是與真北和重力有關。

若要測試您的應用程式處理異常情況的能力,請嘗試將 [位置提供者] 方塊中的 [狀態] 欄位變更為 [暫時不可用] 或 [停止服務]。當您的應用程式嘗試擷取模擬器位置時,將丟出一個異常,您可以藉此檢查應用程式是如何回應的。


13.2 配置位置提供者

您可以使用偏好配置 Sun JavaTM Wireless Toolkit for CLDC 的位置提供者的特性。在使用者介面中,請選擇 [編輯] > [偏好],然後按一下 [位置]。

圖 13-2 配置位置提供者

已選取 [位置] 種類的 [偏好] 視窗

[位置] 標籤中的欄位可讓您指定工具組的內建位置提供者的特性。您在偏好中指定的特性與用來請求位置提供者的 Criteria 類別應用程式相對應。


13.3 設定地標

Sun JavaTM Wireless Toolkit for CLDC 模擬器和許多實際裝置一樣,包含一個地標存放區系統。地標存放區是地名及其他資訊的集合。若要管理地標存放區,請從功能表中選擇 [檔案] > [公用程式],然後選取 [管理地標] 並按一下 [啟動]。

圖 13-3 地標管理員

用於增加、編輯或移除地標的 [管理地標存放區] 視窗

地標管理員可顯示單一地標存放區的內容。JSR 179 最少需要一個地標存放區,亦稱為預設存放區。若要選取其他地標存放區或建立新的地標存放區,請從視窗頂部的 [地標存放區] 組合方塊中選取某個選項。

您可以透過按一下 [管理地標存放區] 來增加或移除地標存放區。無法重新命名地標存放區。

地標可以與特定於某地標存放區的種類建立關聯。目前地標存放區的種類顯示在視窗的左窗格中。您可以使用清單底部的按鈕增加或移除種類。如果您只希望看到相符的地標,請取消核取一個或多個種類。您還可以核取 [未設定種類] 以顯示不具有相關聯之種類的地標。

地標管理員的右側窗格中列出了目前地標存放區中的地標。按一下某個地標以在右側窗格底部查看其詳細資訊。

若要增加新地標,請按一下 [增加],然後視需要填寫欄位。按一下 [編輯] 以變更目前所選的地標。最後按下 [移除] 以移除目前所選的地標。

圖 13-4 增加或編輯地標

已選取 [一般] 標籤的 [地標] 視窗

您也可以使用主視窗中的 [指定種類] 來指定地標的種類。