问题:
Error: Skin for test1.ApplicationSkin2._ApplicationSkin_Group1.contentGroup.map.StaticLayer9.InfoWindow17 cannot be found.
at spark.components.supportClasses::SkinnableComponent/attachSkin()
at spark.components.supportClasses::SkinnableComponent/validateSkinChange()
at spark.components.supportClasses::SkinnableComponent/createChildren()
at mx.core::UIComponent/initialize()
at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::childAdded()
at mx.core::UIComponent/addChildAt()
at spark.components::Group/addDisplayObjectToDisplayList()
at spark.components::Group/http://www.adobe.com/2006/flex/mx/internal::elementAdded()
at spark.components::Group/addElementAt()
at spark.components::Group/addElement()
at com.esri.ags::Map/get infoWindow()[C:\checkout\flex_api\api\src\com\esri\ags\Map.as:2205]
at com.esri.ags.handlers::InfoWindowRendererHandler/map_loadHandler()[C:\checkout\flex_api\api\src\com\esri\ags\handlers\InfoWindowRendererHandler.as:797]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()
at com.esri.ags::Map/checkIfCompleteAndHasWidthAndHeightAndBaseLayerLoaded()[C:\checkout\flex_api\api\src\com\esri\ags\Map.as:3147]
at com.esri.ags::Map/baseLayerLoadHandler()[C:\checkout\flex_api\api\src\com\esri\ags\Map.as:3509]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()
at com.esri.ags.layers::Layer/setLoaded()[C:\checkout\flex_api\api\src\com\esri\ags\layers\Layer.as:850]
at Function/com.esri.ags.layers:ArcGISTiledMapServiceLayer/private:loadMapServiceInfo/com.esri.ags.layers:myResultFunction()[C:\checkout\flex_api\api\src\com\esri\ags\layers\ArcGISTiledMapServiceLayer.as:977]
at mx.rpc::AsyncResponder/result()
at com.esri.ags.tasks::MapServiceInfoTask/handleDecodedObject()[C:\checkout\flex_api\api\src\com\esri\ags\tasks\MapServiceInfoTask.as:85]
at Function/http://adobe.com/AS3/2006/builtin::call()
at com.esri.ags.tasks::BaseTask/handleResultEvent()[C:\checkout\flex_api\api\src\com\esri\ags\tasks\BaseTask.as:749]
at mx.rpc::AsyncResponder/result()
at mx.rpc::AsyncToken/http://www.adobe.com/2006/flex/mx/internal::applyResult()
at mx.rpc.events::ResultEvent/http://www.adobe.com/2006/flex/mx/internal::callTokenResponders()
at HTTPOperation/http://www.adobe.com/2006/flex/mx/internal::dispatchRpcEvent()
at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::resultHandler()
at mx.rpc::Responder/result()
at mx.rpc::AsyncRequest/acknowledge()
at DirectHTTPMessageResponder/completeHandler()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
源码:
<?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" minWidth="955" minHeight="600" xmlns:esri="http://www.esri.com/2008/ags"
creationComplete="init()">
<fx:Script>
<![CDATA[
import com.esri.ags.layers.ArcGISTiledMapServiceLayer;
private function init():void{
map.addLayer(new ArcGISTiledMapServiceLayer("http://192.168.200.113:6080/arcgis/rest/services/DQDG/DQKJSJ/MapServer"));
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Style source="defaults.css"/>
<esri:Map id="map" logoVisible="false" scaleBarVisible="false" zoomSliderVisible="false" attributionVisible="false">
</esri:Map>
</s:Application>
网上找了一圈只找到两个相关的内容,结果都没有效果:
http://depravedangel.iteye.com/blog/1022076
右击项目-->属性-->flex 编译器-->附加的编译参数下增加:-keep-all-type-selectors
https://blog.csdn.net/huyunfei/article/details/45890015
右击项目-->属性-->flex 编译器-->附加的编译参数下增加:-isolate-styles=false
解决:
defaults.css:确认在swc库中存在这个皮肤,引入的css中增加一下内容
esri|InfoWindow
{
skinClass:ClassReference("com.esri.ags.skins.InfoWindowSkin");
}