ArcGIS Mobile 10 开发(一)

0
分享 2012-07-09
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控件

mobileServiceConnection1.Url=@http://YourServer/YourArcGISServerInstance/services/YourMobileServiceName/MapServer/MobileServer;



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中也不一样了,更简洁了些


最后看一下运行结果


文章来源:http://blog.csdn.net/sydbc/article/details/17203063

0 个评论

要回复文章请先登录注册