摘要內容
TGOS MAP API (Android)開發人員指南
用TGOS MAP API開啟視野
本指南是給以Android環境設計APP程式的開發人員,如何將TGOS MAP API (Android)功能嵌入APP程式的使用教程。在閱讀本指南並開始利用TGOS MAP API多元而豐富的功能,來充實您的網頁之前,您需要有Android程式設計方法的基礎,並建立開發環境。本指南將使用eclipse開發工具做為範例,也建議您使用eclipse開發您的APP程式。
範例程式使用注意事項
開發過程中,您可能會參考本網站範例說明,並下載網站提供的範例程式。在使用這些範例程式時,請您特別注意以下項目說明,將會讓您使用上更加便利,且不致出現錯誤。
1. 個別功能範例中,僅提供該功能相關之範例專案檔,如有需要檢視範例專案裡的功能,您必須先下載TGOS MAP API (Android) SDK後並載入,且設置您申請取得的AppID及APIKey,才能正確的操作範例檔案。快速範例則已經包含SDK,僅需於載入後設置AppID及APIKey即可正常使用。
2. 網站提供的所有範例,皆使用UTF-8編碼。您開啟範例後若發現中文字產生亂碼的現象,請由Window工具列開啟Preferences,選擇General項目中的Workspace子項目,並找到Text file encoding方塊,點選Other後在下拉式選單選擇UTF-8即可。您所開發的APP程式則不在此限,您也可在此為您的APP程式選取想用的編碼方式。
取得API金鑰
您必須先取得API金鑰,才能使用TGOS MAP API。API金鑰可以在您使用上或流量有問題時,讓TGOS團隊及時瞭解情形,協助您處理。申請使用TGOS MAP API為免費的,若您還未取得API金鑰,可以到申請網頁進行申請。
建立新專案
在eclipse開發工具中建立一個新Android Application Project來初始化您的APP程式。TGOS MAP API (Android)支援Android 2.3以上之環境,在建立專案時Minimum Required SDK建議設置為API 10: Android 2.3.3。
載入TGOS MAP API (Android)開發工具
要在專案中加入地圖功能,必須先載入TGOS MAP API (Android) SDK,請先下載SDK到您的電腦中。開啟專案的properties並選擇Java Build Path項目,由Libraries頁籤中的「Add External JARs」按鈕,加入已存在您電腦中的SDK(為一jar檔)。接著到Order and Export頁籤中,將加入的SDK勾選,即可載入SDK,並接著後續的開發工作。
在載入TGOS MAP API (Android) SDK時,必需設置API金鑰參數。您需要在新專案<manifest>頁籤中,新增兩個<metadata>參數到<application>標籤內,範例如下:
<application>
(中略,程式原設定無需更改)
<meta-data
android:name="com.tgos.sdk.AppID"
android:value="yourID"/>
<meta-data
android:name="com.tgos.sdk.APIKey"
android:value="yourkey"/>
</application>
請將yourID及yourkey填入為您申請所取得的API金鑰,包含APPID及APIKEY,方能順利驗證並載入必要之功能。
在Manifest加入程式權限
為了確保您的APP程式正確使用TGOS MAP API (Android)的各項功能,必需允許程式使用手持裝置上部分功能的權限。程式的權限設定在AndroidManifest.xml中,請將以下程式碼貼入該檔案<manifest>頁籤內。
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- 允許讀取手機狀態-->
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<!-- 允許程式讀寫系統設定 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 允許程式修改 SD 卡內的檔案 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!-- 允許程式存取行動網路狀態 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!-- 允許程式存取Wi-Fi網路狀態 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- 允許程式存取精確位置(如GPS) -->
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/>
<!-- 允許程式新增模擬位置(DDMS提供模擬GPS位址給模擬器測試用) -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!-- 允許程式讀取額外GPS資訊 -->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 允許存取振動設備 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 允許程式使用網路權限 -->
<uses-permission android:name="android.permission.CAMERA" />
<!-- 允許程式使用相機設備 -->
設定Layout(介面)
程式的每個畫面,必須透過Layout來加以呈現,因此必須先建立起Layout頁面來容納後續開發的各個程式畫面。Layout設定在res資料夾→layout資料夾中的activity_main.xml檔,請將以下程式碼貼入該檔案<RelativeLayout>頁籤內,完成Layout設定。
<RelativeLayout
android:id="@+id/AddMapView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true" >
</RelativeLayout>
在主程式使用網路訊號傳輸
TGOS提供豐富的資訊讓使用者參考使用,在操作過程中,程式需要持續使用網路訊號傳輸所需的資訊。在需要使用TGOS相關功能頁面的.java檔中,請加入下列程式碼,以允許在主線程中使用網路。
if (android.os.Build.VERSION.SDK_INT >= 11) {
android.os.StrictMode
.setThreadPolicy(new android.os.StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites()
.detectNetwork().penaltyLog().build());
android.os.StrictMode
.setVmPolicy(new android.os.StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedSqlLiteObjects().penaltyLog()
.penaltyDeath().build());
}
在程式中初始化地圖
以下程式碼將初始化一個最簡單的TGOS MAP,我們將以此程式做為範例來介紹。您也可以在想加入地圖頁面的.java檔中,以此段程式碼做為基礎進行開發。
RelativeLayout AddMapView = (RelativeLayout)findViewById(R.id.AddMapView);
//放入地圖的Layout,如果需要套疊不同的View就用RelativeLayout
try {
TGOnlineMap _MapView = new TGOnlineMap(this);//建立TGOSMap
AddMapView.addView(_MapView);//加入到畫面中
_MapView.setBackgroundColor(Color.rgb(165,191,221));//設定地圖底色
} catch (TGRuntimeRemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
上列程式先關聯到一個Layout頁面以容納地圖畫面,接著建立一個_MapView畫面讀取TGOSMAP,並使之加入到畫面中,最後設定地圖屬性中的底色,即可將最簡易的TGOS地圖顯示於程式中。