arcgis for flex 地图发布服务
本文参考了如下网址的内容:http://andy-ghg.iteye.com/blog/477555
首先打开开始/程序/arcgis/arc server for java platform/
然后点击里面的 arcgis server manager这个管理器,登录。
左侧 service 下面的 add new service
给个名字,默认是map service,
然后下一步,map document 为你的mxd 文件即可。
下一步,选择为 web map service,然后一路next ,直到完成地图发布。
点击开始/程序。。。里面的arcgis service directory
这样就 看到你发布的地图服务了。
如果看不到,就可能是缓存的问题,可以进入http://localhost:8399/arcgis/rest/admin/这个页面,登录(密码同manager),然后clear cathe now.
然后重新打开 directory。
必须得设置一个叫安全沙箱的东西,代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd" >
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all" />
<allow-access-from domain="*" />
<allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
把以上代码保存为:crossdomain.xml 然后保存到你安装的server下面,如我的:D:\Program Files\ArcGIS\Server10.0\java\manager\web_output
即可。
然后把FLEX FOR ARCGIS文件下到手,解压后在如下地址处找到文件:arcgis_api_for_flex_2_5\ArcGIS_Flex\libs下面有个 .swc 文件。
然后就要打开flash builder 了。
我用的是flash builder 5,打开后,新建一个flex项目。
完成后,右键打开属性,左边是一列单子,找到如下图所示:
走右边选择 添加 刚才文件夹里找到的swc文件路径。即可
然后在源代码写入:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:esri="http://www.esri.com/2008/ags"
pageTitle="Example #1">
<esri:Map>
<esri:ArcGISTiledMapServiceLayer
url="http://localhost:8399/arcgis/rest/services/world/MapServer" />
</esri:Map>
</s:Application>
红色部分改为你发布后的地图的地址:如下
然后要加上切片服务,否则运行后 报错说找不到切片什么的。
打开CATALOG,找到自己发布的地图服务,如下图,点击右键,选择服务属性,如下图:
d
点击建议后弹出窗口,设置为自己要用的比例级别即可。此处设为6.
确定,应用,要建立切片服务,确定开始建立,如下图:
完成后,清除缓存,方法为前面所说。
改掉红色的代码里的值,为你自己的服务名称,后运行该程序,效果如下图: