ArcGIS Mobile 10 開發(一)
ArcGISMobile 10第一個移動程式
之前為大家介紹了ArcGIS Mobile 10在安裝程式和控制元件方面的新增和改進的部分,下面開始著手建立第一個移動應用程式的開發和部署。就像所有的程式開發一下,第一個程式就叫Hello World,下面就是基本的實現步驟
1、首先啟動Visual Studio .NET 2008,並新建一個工程選擇“智慧裝置”專案,然後在目標平臺中選擇Windows Mobile 5.0 Pocket PC SDK ,在.NetCompact Framework Version中選擇2.0。
2、直接拖拽ArcGIS Mobile Controls中的Map控制元件到窗體上,這時你會發現窗體的控制元件欄上多了一個MobileCache1。不在是以前9.3時的MobileService控制元件。我們還需要對Map控制元件的DataSources屬性設定為MobileCache1,這樣就將資料來源繫結到了Map控制元件中。然後將Map1控制元件的Dock屬性設定為Fill,這樣地圖控制元件就充滿全屏。對於螢幕本來就小的移動裝置,這樣更能讓我看的比較舒服。
3、 上面將Map控制元件和MapCache進行繫結還不能讓我們直接顯示地圖,還需要寫幾句程式碼來設定Map的資料來源在移動裝置上的具體物理位置。如下:
首先引用名稱空間
using ESRI.ArcGIS.Mobile;
usingESRI.ArcGIS.Mobile.MobileServices;
……………
privatevoid Form1_Load(object sender, EventArgs e)
{
// 指定地圖快取存放的位置
mobileCache1.StoragePath=Environment.GetFolderPath(Environment.SpecialFolder.Personal)+ @”MapCache
if (!mobileCache1.IsValid)
{
MessageBox.Show(“Map Cache is not valid!”);
return;
}
if (mobileCache1.IsEmpty)
{
try
{
// 如果指定位置沒有地圖快取的話,從ArcGIS Server釋出的Mobile Services上下載地圖快取,其中需要使用到mobileServiceConnection控制元件
mobileCache1.DeleteCache();
MobileCacheSyncAgent mobilesync=newMobileCacheSyncAgent(mobileCache1,mobileServiceConnection1);
mobileServiceConnection1.CreateCache(mobileCache1);
mobilesync.Synchronize();
}
catch
{
MessageBox.Show(“Cannot synchronize with this service”);
}
}
try
{
mobileCache1.Open();
}
catch
{
MessageBox.Show(“Cannot open map cache”);
}
}
4、 接下來就是配置我們程式的執行環境了,你可以直接連一個真實的移動裝置(作業系統要求是windows Mobile 5)也可以部署到虛擬機器裡面。這裡我先部署到虛擬機器裡面,程式除錯一般也都在虛擬機器裡來完成。在VS2008工具欄中-“工具”-“裝置模擬器管理器”
5、 這個時候還需要往虛擬機器裡部署我們地圖快取,安裝ArcGIS Mobile Runtime等操作,所以首先需要連線連通虛擬機器,你可以通過Sync4.5或者Windows Mobile裝置中心來連線虛擬機器
連線之後首先要將ArcGIS Mobile Runtime進行部署安裝,ArcGIS安裝路徑Mobile10.0InstallAGMRuntime.CAB。該檔案是ArcGIS Mobile在移動裝置上的執行時,如果不安裝該檔案在程式執行時就會報MissingArcGIS registry key的錯誤。
接著就部署地圖快取了,根據上面程式碼中編寫的一樣我們在移動裝置的MyDocumentMapCache位置方式我們的地圖快取。ArcGIS Mobile 10中地圖快取和9.3中也不一樣了,更簡潔了些
最後看一下執行結果