arcgis api for flex 开发入门Word文档格式.docx

上传人:b****2 文档编号:1281370 上传时间:2023-04-30 格式:DOCX 页数:12 大小:93.19KB
下载 相关 举报
arcgis api for flex 开发入门Word文档格式.docx_第1页
第1页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第2页
第2页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第3页
第3页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第4页
第4页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第5页
第5页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第6页
第6页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第7页
第7页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第8页
第8页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第9页
第9页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第10页
第10页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第11页
第11页 / 共12页
arcgis api for flex 开发入门Word文档格式.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

arcgis api for flex 开发入门Word文档格式.docx

《arcgis api for flex 开发入门Word文档格式.docx》由会员分享,可在线阅读,更多相关《arcgis api for flex 开发入门Word文档格式.docx(12页珍藏版)》请在冰点文库上搜索。

arcgis api for flex 开发入门Word文档格式.docx

mx:

Application

3. 

 

xmlns:

mx="

4. 

esri="

5. 

pageTitle="

UsingArcGISAPIforFlextoconnecttoacachedArcGISOnlineservice"

6. 

styleName="

plain"

7. 

<

esri:

MapcrosshairVisible="

true"

8. 

<

ArcGISTiledMapServiceLayer

9. 

url="

/>

10. 

/esri:

Map>

11.<

/mx:

Application>

arcgisapiforflex开发入门

(二)map的创建

在flex中创建一个esri的map,你只需要使用<

标签就可以轻松完成。

在<

标签中可以添加属性和响应事件的消息。

如下:

Mapwidth="

100%"

height="

50%"

id="

EsriMap"

creati 

resize="

EsriMapResize(event);

"

extentChange="

ESRIMapExtentChange(event);

mouseMove="

OnDrawMouseMove(event)"

width和height定义的map的大小,id="

唯一标识了这个map。

针对map的消息也有很多,最常用的就是creationComplete,resize和鼠标消息了。

现在我们map有了,那么我们如何让她显示数据呢,这就需要给<

标签添加一个layer子标签 

在agsflexapi中有以下几种类型的layer。

ArcGISDynamicMapServiceLayer:

AllowsyoutoworkwithadynamicmapserviceresourceexposedbytheArcGISServerRESTAPI.

ArcGISImageServiceLayer:

AllowsyoutoworkwithanimageserviceresourceexposedbytheArcGISServerRESTAPI.

ArcGISMapServiceLayer:

ThebaseclassforArcGISServermapservices.

ArcGISTiledMapServiceLayer:

AllowsyoutoworkwithacachedmapserviceresourceexposedbytheArcGISServerRESTAPI.

ArcIMSMapServiceLayer:

AllowsyoutoworkwithanArcIMSimageservice.

GPResultImageLayer:

AllowsyoutoviewageoprocessingtaskresultidentifiedbyjobIdandparameterName.

GraphicsLayer:

AlayerthatcontainsoneormoreGraphicfeatures.

其中GraphicsLayer是支持客户端添加Graphicfeatures的图层,需要在客户端表现的,或者交互操作中产生的要素都要加到这个layer上。

下面,我们就添加一个ArcGISTiledMapServiceLayer和GraphicsLayer到map上。

>

ArcGISTiledMapServiceLayer 

GraphicsLayerid="

myGraphicsLayer"

spatialReference="

{sr}"

/>

其中<

ArcGISTiledMapServiceLayer>

标签中的url属性为提供该服务的地址。

GraphicsLayer>

标签其中的spatialReference属性定义了该图层的空间参考系。

创建一个空间参考系,只需要使用<

SpatialReference>

标签就可以了,其中wkid是esri已经定义好的空间草考系的ID,具体ID对应的空间参考可以在

SpatialReferenceid="

sr"

wkid="

4326"

那么,我们如何定义我们想显示的范围呢?

很简单,在<

下面添加<

extent>

子标签,我们就可以来控制当前的显示范围了。

Extent 

id="

esriMapExtent"

xmin="

116"

ymin="

39.5"

xmax="

116.5"

ymax="

40.5"

其中x是经度,y是纬度。

这样一个北京地区的map就可以显示到我们面前了。

完整代码如下

xml 

version="

encoding="

xmlns:

pageTitle="

Using 

ArcGIS 

API 

for 

Flex 

to 

connect 

cached 

Online 

service"

styleName="

SpatialReference 

id="

wkid="

Map 

crosshairVisible="

id 

xmin="

ymin="

xmax="

ymax="

GraphicsLayer 

spatialReference="

arcgisapiforflex开发入门(三)地图浏览控件的使用

地图浏览包括放大,缩小,漫游,复位,上级窗口,下级窗口等

在arcgisapiforflex中,esri已经封装好了一个地图浏览,我们在程序中可

以直接使用,只需要几十行代码,就可以完成复杂的任务。

首先在上一讲的基础上创建一个Navigation控件。

使用<

Navigation>

标签

就可以了。

Navigationid="

navToolbar"

map="

{myMap}"

将<

标签的map属性设置为你要控制的map,也就是说把控件绑到

map上。

然后我们创建一个工具条,用来做对map浏览的控制

ControlBarhorizpaddingBottom="

0"

paddingTop="

Buttonlabel="

放大"

click="

navToolbar.activate

(Navigation.ZOOM_IN)"

缩小"

(Navigation.ZOOM_OUT)"

漫游"

(Navigation.PAN)"

上级窗口"

navToolbar.zoomToPrevExtent

()"

enabled="

{!

navToolbar.isFirstExtent}"

下级窗口"

navToolbar.zoomToNextExtent()"

navToolbar.isLastExtent}"

复位"

click="

navToolbar.zoomToFullExtent()"

button的click消息响应函数直接调用<

控件的函数就可以了

放大,缩小,漫游调用的都是激活工具的函数。

剩余3个button的响应函数分别

调用<

控件zoomToPrevExtent,zoomToNextExtent,

zoomToFullExtent函数就ok了。

arcgisapiforflex在客户端提供了强大的绘制功能,可以通过简单的调用来

完成复杂的绘制工作,达到很好的交互效果,提供完美的用户体验,感觉不出来

是在web上操作。

下面我们就一起来实现绘制功能。

首先,我们需要定义一个draw控件,使用<

esri

raw>

标签来完成创建工作,如

下面的代码

rawid="

drawToolbar"

graphicsLayer="

{myGraphicsLayer}"

raw>

标签的map属性要绑定要你需要绘制的map上。

graphicsLayer属性要

绑定到一个graphicsLayer上,所有绘制的结果都会添加到graphicsLayer上,

graphicsLayer的创建可以参考第二讲的内容。

控件创建好了,我们下面就可以调用这个控件的函数来完成绘制任务。

和上一讲一样,我们创建一个controlbar来响应这些绘制的操作。

点"

drawToolbar.activate

(Draw.MAPPOINT)"

线"

(Draw.POLYLINE)"

流线"

(Draw.FREEHAND_POLYLINE)"

矩形"

(Draw.EXTENT)"

多边形"

(Draw.POLYGON)"

流多边形"

(Draw.FREEHAND_POLYGON)"

结束绘制"

drawToolbar.deactivate

()"

ControlBar>

在button的click响应函数里,我们只需要调用draw控件的activate函数来激活

当前绘制工具就可以了。

当你不想绘制的时候,调用deactivate函数就ok了,释放掉当前选择的绘制工具。

完整代码:

Code

Draw 

map="

ControlBar 

horizontalGap="

paddingBottom="

paddingTop="

Button 

label="

(Draw.FREEHAND_POLYGON) 

() 

myMap"

_World_2D/MapServer"

在gis中,针对要素的查询是一个最基本的操作,也是最常用的操作之一。

下面我们介绍如何使用arcgisapiforflex来查询我们需要的东西。

要在arcgisapiforflex中进行查询操作,首先需要定义一个查询任务面板。

ueryTask>

标签就可以了。

ueryTaskid="

queryTask"

phics/ESRI_Census_USA/MapServer/5"

ueryid="

query"

text="

{qText.text}"

returnGeometry="

spatialRelati>

utFields>

String>

MED_AGE<

POP2007<

/esri

uery>

ueryTask

id唯一标识这个查询任务,url告诉查询面板去哪查。

定义一个查询,text是你需要查询的东西,<

子标

签告诉Query查询的结果返回哪些字段的内容。

QueryTask定义好之后,我们还需要在界面上来调用这个QueryTask。

因此我们定

义一个文本输入框和一个查询按钮

mx

aneltitle="

Queryalayer(searchforastate)"

layout="

horizontal"

backgroundColor="

0xB2BFC6"

borderStyle="

solid"

TextInputwidth="

qText"

enter="

doQuery()"

California"

DoQuery"

doQuery

/mx

anel>

文本输入框用来输入你想要查询的内容,button用来执行查询的动作。

那么这个doQuery()怎么实现呢?

我们在mxml的标签中已经无法实现,这就需要引

入activescript脚本。

我们需要在mxml中使用activescript脚本历来编写代码,

实现我们想要的功能。

关于activescript的语法大家可以

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2