arcgis for flex api version3.7 教程:4.创建Flex移动应用

前提条件:
在这一节,你将学习创建一个基本的Flex移动应用,以展示地图为例。在做之前,确保完成以下事项。
》Adobe Flash Builder 4.5.1(及以后版本)
》用最新的Adobe AIR SDK覆盖已有的Flex SDK。覆盖教程:Overlay AIR SDK on Flex SDK.
》下载ArcGIS API for Flex.


下面将详细介绍如何来开发移动地图应用,下面的教程是针对Android设备,但ios设备上的开发步骤类似。


1 在FB中,打开File>New>Flex Mobile Project.
2 设置工程名称和工程存储路径。
3 设置Adobe AIR SDK,绑定到Flex SDK,点击下一步。如果所需sdk没有列出来,点击configure Flex SDKs...浏览打到所需要的sdk。
如下图所示:
技术分享

4 在Mobile Settings页面,选择Google Android,其他保持默认,点击下一步。
如下图所示:
技术分享

5 (可选项)点击Permissions按钮,可以选择所需的设备运行权限。本教程中默认即可,点击下一步。
如下图所示:

技术分享
6 在Server Settings页面,保持默认,下一步。
如下图所示:
技术分享

7 在Build Paths 页面,点击Add SWC...,浏览添加下载的ArcGIS for Flex API的库。
如下图所示:
技术分享

提示:在该教程中没有修改application ID.但是在实际的工程开发中,一个合格的application ID 不应该是这样的,正确示例如:com.mydomain.myapp。




编写代码:
到此,这个app中还没有包含任何功能,下面我们通过代码来添加一个简单的地图展示功能。
代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:View
   xmlns:fx="http://ns.adobe.com/mxml/2009"
   xmlns:s="library://ns.adobe.com/flex/spark"
   xmlns:esri="http://www.esri.com/2008/ags"
   title="A tiled map service">


   <esri:Map id="myMap"
    attributionVisible="false"
    level="2"
    wrapAround180="true"
    zoomSliderVisible="false">
      <esri:extent>
         <esri:Extent xmin="-19325128" ymin="-10948057" 
           xmax="-539964" ymax="18364625">
            <esri:SpatialReference wkid="102100"/>
         </esri:Extent>
      </esri:extent>
   <esri:ArcGISTiledMapServiceLayer 
    url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer"/>


   </esri:Map>


</s:View>


运行APP
可以直接在实际物理设备上调试程序,也可以直接在电脑上通过Flash Builder提供的虚拟机来调试运行。
1 将你的主文件,如本示例中的MyBaseMapHomeView.mxml。设置为active,点击运行。
2 在Run Configurations 对话框中,设置target platform为Goodle Android。
3 不要改变AppID.
4 设置Launch method为On AIR Simulator。
5 Launch Configuration > device。选择一个模拟设备,如Motorola Droid,点击Apply 并Run.

如图:

技术分享

运行结果如图:

技术分享

提示:如果使用的api是3.4及以上版本,有可能会如下错误:Class mx.controls:: DateField could not be found. Class com.esri.ags.skins.fieldClasses::CalendarField could not be found 。如果出现此类错误,请参考 Mobile applications with Flex     或者咨询官方 FAQs.





郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。