arcgis api for flex 开发入门(九)webservices 的使用

简介:

arcgis api for flex 开发入门(九)webservices 的使用
flex 本身对webservices有着良好的支持,我们可以调用互联网上的各种
webservices来结合esri 的map 做出自己想要的东西
我们就拿现在比较流行的天气预报来做例子,我们要实现的目标就是通过
webservices查询到武汉的天气情况,然后使用infowindow 显示到esri 的map上
,在讲解过程中,我们会重点解释infowindow 的用法。
现在提供天气预报的webservices很多,我们选用
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?
来进行天气的查询。
那么,在flex中如何使用webservices呢?
只要使用 <mx:WebService>标签创建一个WebService就可以了,id唯一标识这个
webservice,wsdl指向提供webservice的地址。
<mx:WebService id="weatherWS"
wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL"
showBusyCursor="true"/>
我们直接在application 创建完成的时候调用这个 webservice,得到结果后直接
显示到map上 。
private function Init():void
{
  weatherWS.addEventListener(ResultEvent.RESULT,
WSGetWeatherResult);
            weatherWS.getWeatherbyCityName("武汉");
}
private function WSGetWeatherResult(event:ResultEvent):void
          {
           weatherWS.removeEventListener
(ResultEvent.RESULT,WSGetWeatherResult);
           var arrC:ArrayCollection =event.result as
ArrayCollection;
           if(arrC.length > 0)
           {
             var str:String = arrC.getItemAt(0).toString();
        //     var infWd :InfoWindow = new InfoWindow(EsriMap);
              var str2:String = arrC.getItemAt(1).toString();
             myMap.infoWindow.title= str+"."+str2;  
             var vbox :VBox = new VBox();
             var vbox2 :VBox = new VBox();
             var hbox :HBox = new HBox();
             var canvas:Canvas = new Canvas();
             var path:String = "assets\\weather\\";
             var img1 :Image = new Image;
             img1.load(path+arrC.getItemAt(8).toString());
             hbox.addChild(img1);
             var img2 :Image = new Image;
             img2.load(path+arrC.getItemAt(9).toString());
             hbox.addChild(img2);
            
           
             var txtTem :Text = new Text();
             txtTem.text =  arrC.getItemAt(5).toString();
             var txtWea :Text = new Text();
             txtWea.text =  arrC.getItemAt(6).toString();
             var txtWind :Text = new Text();
             txtWind.text =  arrC.getItemAt(7).toString();
             vbox.addChild(txtTem);
             vbox.addChild(txtWea);
             vbox.addChild(txtWind);
             vbox2.addChild(hbox);
             vbox2.addChild(vbox);
             canvas.addChild(vbox2);
            
             myMap.infoWindow.content = canvas;
             var mapPnt2:MapPoint = new MapPoint
(114.1547298,30.5127677);
             myMap.infoWindow.show(mapPnt2);
             myMap.centerAt(mapPnt2);                  
   
           }
          }
设置infoWindow有两点需要注意,一是infoWindow不需要自己new一个,只需要把
你要显示的内容赋值给myMap.infoWindow,二是显示的时候只需要调用
myMap.infoWindow.show(mapPnt2);就可以了,把你想显示的位置告诉他。
完整代码:

 

 

Code

原文地址:http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=35702&extra=page%3D3%26amp%3Borderby%3Ddateline

 

 

本文转自温景良(Jason)博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494576.html如需转载请自行联系原作者

相关文章
|
4月前
|
开发框架 .NET API
RESTful API 设计与实现:C# 开发者的一分钟入门
【10月更文挑战第5天】本文从零开始,介绍了如何使用 C# 和 ASP.NET Core 设计并实现一个简单的 RESTful API。首先解释了 RESTful API 的概念及其核心原则,然后详细说明了设计 RESTful API 的关键步骤,包括资源识别、URI 设计、HTTP 方法选择、状态码使用和错误处理。最后,通过一个用户管理 API 的示例,演示了如何创建项目、定义模型、实现控制器及运行测试,帮助读者掌握 RESTful API 的开发技巧。
130 7
|
6月前
|
前端开发 JavaScript 安全
入门Vue+.NET 8 Web Api记录(一)
入门Vue+.NET 8 Web Api记录(一)
212 4
|
3月前
|
开发者 UED 容器
鸿蒙next版开发:ArkTS组件通用属性(Flex布局)
在HarmonyOS next中,ArkTS的Flex布局是一种强大且灵活的布局方式,支持水平或垂直方向排列元素,并能动态调整大小和位置以适应不同屏幕。主要属性包括justifyContent、alignItems、direction和wrap,适用于导航栏、侧边栏和表单等多种场景。示例代码展示了如何使用这些属性创建美观的布局。
150 10
|
8月前
|
JavaScript API 开发者
GraphQL API开发入门:比RESTful更高效的数据查询方式
**GraphQL API开发入门摘要** GraphQL是一种更高效的数据查询方式,解决RESTful API的过度或不足获取数据问题。它允许客户端按需获取数据,减少网络传输,支持一次请求获取多资源。强类型和自描述特性方便了开发。文章通过一个简单的Node.js示例,展示如何使用`apollo-server-express`搭建GraphQL服务器,包括定义Schema、实现Resolver和创建服务器。通过测试,显示了GraphQL如何提供精确数据和优化查询效率。对于复杂数据需求,GraphQL是现代API设计的有效选择。
110 0
|
4月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
6月前
|
开发者
告别繁琐代码,JSF标签库带你走进高效开发的新时代!
【8月更文挑战第31天】JSF(JavaServer Faces)标准标签库为页面开发提供了大量组件标签,如`&lt;h:inputText&gt;`、`&lt;h:dataTable&gt;`等,简化代码、提升效率并确保稳定性。本文通过示例展示如何使用这些标签实现常见功能,如创建登录表单和展示数据列表,帮助开发者更高效地进行Web应用开发。
66 0
|
6月前
|
前端开发 API 开发者
【React状态管理新思路】Context API入门:从零开始摆脱props钻孔的优雅之道,全面解析与实战案例分享!
【8月更文挑战第31天】React 的 Context API 有效解决了多级组件间状态传递的 &quot;props 钻孔&quot; 问题,使代码更简洁、易维护。本文通过电子商务网站登录状态管理案例,详细介绍了 Context API 的使用方法,包括创建、提供及消费 Context,以及处理多个 Context 的场景,适合各水平开发者学习与应用,提高开发效率和代码质量。
61 0
|
6月前
|
API 开发工具
langchain 入门指南(一)- 准备 API KEY
langchain 入门指南(一)- 准备 API KEY
448 0
|
8月前
|
Linux API 数据安全/隐私保护
一文搞懂:【零基础】易盛9.0API入门二:登陆
一文搞懂:【零基础】易盛9.0API入门二:登陆
116 1
|
8月前
|
存储 Java API
JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例
JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例
65 0

热门文章

最新文章