天天看點

PopUpRenderer彈出框

最近才發現ArrcGIS API For Flex中有個PopupRenderer,結合PopUpInfo使用,實作彈出框的效果,類似InfoSymbol。目前個人覺得PopupRendere比InfoSymbol好用,若是需要展示某點的多個字段資訊,InfoSymbol需要定義DataRenderer,并添加多個标簽來展示字段。使用PopUprenderer,對PopUpInfo定義title,description屬性,在description屬性中可以任意添加字段,來顯示某點資訊。另外對于使用PopUpRenderer,可以對其彈出框進行關閉,而InfoSymbol是不行的。

使用PopUpRenderer的相關代碼,如下:

var popUpInfo:PopUpInfo = new PopUpInfo();

popUpInfo.title = infoObj[0].displayf;

     popUpInfo.description = “預警個數:{number}”;

var infoWindowRenderer:ClassFactory = new ClassFactory(PopUpRenderer);

    infoWindowRenderer.properties = { popUpInfo: popUpInfo };

    locateLyr.infoWindowRenderer = infoWindowRenderer;     //locateLyr為GraphicsLayer,顯示需要顯示資訊的某點

    popUpRenderer.popUpInfo = popUpInfo;

    popUpRenderer.graphic = locateGra;    //locateGra選擇的點

    locateLyr.add(locateGra);

    var pt:MapPoint = locateGra.geometry as MapPoint;

    map.centerAt(pt);

    infoWindowShow();

//

   //顯示彈出的視窗

   //

   private function infoWindowShow():void

   {

    map.infoWindow.content = popUpRenderer;

    map.infoWindow.contentOwner = popUpRenderer.graphic;

    map.infoWindow.show(popUpRenderer.graphic.geometry as MapPoint);

   }