TypeError:错误#1034:类型强制失败:无法将视图:: AGISHomeView @ 6396ae1转换为spark.components.View

时间:2014-08-28 07:38:14

标签: actionscript-3 flash flex arcgis flex4.6

我是flex的新手,Flash构建器,我按照此链接中的教程:Query your data编写包含查询任务的移动地图应用程序,在编写代码后,问题选项卡中没有出现错误但是有6个警告,并且在运行应用程序时出现以下错误:

发生了ActionScript错误:

TypeError: Error #1034: Type Coercion failed: cannot convert views::AGISHomeView@6396ae1 to spark.components.View.
at spark.components::ViewNavigator/createViewInstance()[E:\dev\4.y\frameworks\projects\mobilecomponents\src\spark\components\ViewNavigator.as:1999]
at spark.components::ViewNavigator/commitNavigatorAction()[E:\dev\4.y\frameworks\projects\mobilecomponents\src\spark\components\ViewNavigator.as:1932]
at spark.components::ViewNavigator/commitProperties()[E:\dev\4.y\frameworks\projects\mobilecomponents\src\spark\components\ViewNavigator.as:1301]
at mx.core::UIComponent/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\core\UIComponent.as:8219]
at mx.managers::LayoutManager/validateProperties()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:597]
at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:783]
at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:\dev\4.y\frameworks\projects\framework\src\mx\managers\LayoutManager.as:1180]”

感谢任何形式的帮助。

哈尼,


以下是我使用的代码:

<?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:mx="library://ns.adobe.com/flex/mx"
                     xmlns="http://ns.adobe.com/air/application/4.6"
                     xmlns:esri="http://www.esri.com/2008/ags">

      <s:layout>
            <s:VerticalLayout gap="10"
                                      horizontalAlign="center"
                                      paddingBottom="20"
                                      paddingLeft="25"
                                      paddingRight="25"
                                      paddingTop="20"/>
      </s:layout>
      <fx:Script>
            <![CDATA[
                  import com.esri.ags.FeatureSet;
                  import mx.controls.Alert;
                  import mx.rpc.AsyncResponder;

                  private function doQuery():void
                  {
                        queryTask.execute(query, new AsyncResponder(onResult, onFault));

                        function onResult(featureSet:FeatureSet, token:Object = null):void
                        {
                              // No code needed in this simple sample, since the
                              // graphics layer is bound to the query result using
                              // graphicProvider="{queryTask.executeLastResult.features}"
                        }

                        function onFault(info:Object, token:Object = null):void
                        {
                              Alert.show(info.toString(), "Query Problem");
                        }
                  }
            ]]>
      </fx:Script>
      <fx:Declarations>
            <!-- Layer with US States -->
            <esri:QueryTask id="queryTask"
                                    showBusyCursor="true"
                                    url="http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/Demographics/ESRI_Census_USA/MapServer/5"
                                    useAMF="false"/>
            <esri:Query id="query"
                              outSpatialReference="{myMap.spatialReference}"
                              returnGeometry="true"
                              text="{qText.text}">

                  <esri:outFields>
                        <fx:String>MED_AGE</fx:String>
                        <fx:String>POP2007</fx:String>
                  </esri:outFields>
            </esri:Query>

      </fx:Declarations>   
      <s:Panel height="60"
                   backgroundColor="0xB2BFC6"
                   title="Query a layer (search for a state)">

            <s:layout>
                  <s:HorizontalLayout/>
            </s:layout>

            <s:TextInput id="qText"
                               width="100%"
                               enter="doQuery()"
                               text="California"/>

            <s:Button click="doQuery()" label="Do Query"/>
      </s:Panel>
      <esri:Map id="myMap">
            <esri:extent>
                  <esri:Extent xmin="-14298000" ymin="2748000" xmax="-6815000" ymax="7117000">
                        <esri:SpatialReference wkid="102100"/>
                  </esri:Extent>
            </esri:extent>

            <esri:ArcGISTiledMapServiceLayer
                  url="http://server.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer"/>

      </esri:Map>
</s:Application>
_______________________________________________________________

1 个答案:

答案 0 :(得分:0)

我尝试了你的代码,它的工作正常,没有任何警告。你能表明你得到的警告是什么吗?我认为那些应该与皮肤有关,你可以改变RSL设置以使其起作用。 将Arcgis.swc的RSL设置更改为&#39; EXternal&#39;