123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- package com.xt.hb.utils
- {
- // import com.object.FieldObject;
- // import com.server.GeometryType;
- // import com.supermap.web.core.Feature;
- // import com.supermap.web.core.Point2D;
- // import com.supermap.web.core.geometry.GeoLine;
- // import com.supermap.web.core.geometry.GeoPoint;
- // import com.supermap.web.core.geometry.GeoRegion;
- // import com.supermap.web.core.geometry.Geometry;
- // import com.supermap.web.core.styles.PictureMarkerStyle;
- // import com.supermap.web.core.styles.PredefinedFillStyle;
- // import com.supermap.web.core.styles.PredefinedLineStyle;
- // import com.supermap.web.core.styles.PredefinedMarkerStyle;
- // import com.supermap.web.mapping.Map;
- // import com.supermap.web.mapping.TiledDynamicRESTLayer;
- import com.esri.ags.Graphic;
- import com.esri.ags.geometry.MapPoint;
- import com.xt.hb.ais.BwxqModel;
- import com.xt.hb.object.FieldObject;
-
- import flash.events.MouseEvent;
-
- import mx.containers.Grid;
- import mx.containers.GridItem;
- import mx.containers.GridRow;
- import mx.controls.Alert;
- import mx.controls.HRule;
- import mx.controls.Image;
- import mx.controls.LinkButton;
- import mx.core.FlexGlobals;
-
- import spark.components.Label;
-
-
-
- public class ServicesUtility
- {
- public function ServicesUtility()
- {
- }
-
-
- /**
- * 地图上的弹出框
- * layerId:点的是什么东西
- * obj:数据
- *
- * */
- public static function showFeatrueToMap(layerId:String,graphic:Graphic,
- obj:Object,e:MouseEvent=null, isUseMousePoint:Boolean=false):void
- {
- try
- {
- var grid:Grid = new Grid();
- grid.setStyle("verticalGap",0);
- grid.setStyle("backgroundColor","#FFFFFF");
-
- var row:GridRow;
- var rowItem:GridItem;
- var label:Label;
- var img:Image;
-
- row = new GridRow();
- row.height = 10;
- rowItem = new GridItem();
- rowItem.colSpan = 4;
- rowItem.setStyle("horizontalAlign","center");
-
- row.addChild(rowItem);
- grid.addChild(row);
-
- var fieldArr:Array = FieldsUtility.getShowFields(layerId);
- var hRule:HRule;
- var i:int=0;
-
- for each(var f:FieldObject in fieldArr)
- {
- row = new GridRow();
- //row.height = 24;
- //前面留白
- rowItem = new GridItem();
- rowItem.width = 8;
- row.addChild(rowItem);
-
- rowItem = new GridItem();
- rowItem.setStyle("verticalAlign","middle");
- rowItem.setStyle("horizontalAlign","left");
- rowItem.setStyle("fontFamily","宋体");
- rowItem.setStyle("fontSize","12");
-
- label = new Label();
- label.text = f.getLabel() + ":";
- label.setStyle("color","#4c4c4c");
-
- rowItem.addChild(label);
- row.addChild(rowItem);
- //留白
- rowItem = new GridItem();
- rowItem.width = 15;
- row.addChild(rowItem);
-
- rowItem = new GridItem();
- rowItem.setStyle("verticalAlign","middle");
- rowItem.setStyle("horizontalAlign","left");
- rowItem.setStyle("fontFamily","宋体");
- rowItem.setStyle("fontSize","12");
- label = new Label();
- if(null != obj && typeof(obj[f.getField()]) != "object") {
- label.text = obj[f.getField()];
- }
- label.maxWidth = 160;
- label.minHeight = 24;
- label.setStyle("verticalAlign","middle");
- label.maxDisplayedLines=0; // 默认多行显示,不截取
- rowItem.addChild(label);
- row.addChild(rowItem);
- //后面留白
- rowItem = new GridItem();
- rowItem.width = 10;
- row.addChild(rowItem);
-
- grid.addChild(row);
-
- row = new GridRow();
- row.height = 4;
-
- if( i < fieldArr.length)
- {
- i++;
- }
- // 如果泊位则加详情
- if(layerId==ConstUtil.L_ID_BW ) {
- var fieldObj:FieldObject = fieldArr[fieldArr.length-1] as FieldObject;
- if(f.getField() == fieldObj.getField()) {
- addBwxq(grid, obj);
- }
- }
- }
- row = new GridRow();
- row.height = 5;
-
- grid.addChild(row);
- FlexGlobals.topLevelApplication.map
- MapUtils.map.infoWindow.content = grid;
- MapUtils.map.infoWindow.label = FieldsUtility.getTitleByLayerID(layerId);
- setInfoWindowStyle();
- if(isUseMousePoint) {
- MapUtils.map.infoWindow.show(MapUtils.map.toMapFromStage(
- e.stageX + 5, e.stageY - 5));
- } else {
- if(graphic.geometry.type == "esriGeometryPoint") {
- MapUtils.map.infoWindow.show(new MapPoint(graphic.geometry["x"],graphic.geometry["y"],null));
- } else {
- MapUtils.map.infoWindow.show(graphic.geometry.extent.center);
- }
- }
- }
- catch(error:Error)
- {
- Alert.show("显示资源信息出错:"+error.message);
- }
- }
- public static function setInfoWindowStyle(type:String = null):void
- {
- MapUtils.map.infoWindow.closeButtonVisible = true;
- MapUtils.map.infoWindow.labelVisible = true;
- MapUtils.map.infoWindow.setStyle("backgroundColor","#e2ecf1");
- MapUtils.map.infoWindow.setStyle("borderColor","#999999");
- MapUtils.map.infoWindow.setStyle("border-style","solid");
- // map.infoWindow.infoPlacement = "";
- // "upperRight", "lowerRight", "upperLeft", "lowerLeft", "left", "right", "top", "bottom", and "center".
- // map.infoWindow.infoWindowLabel.setStyle('color', "#333");
- // map.infoWindow.infoWindowLabel.setStyle('fontFamily', "宋体");
- // map.infoWindow.infoWindowLabel.setStyle('fontSize', "14");
- // map.infoWindow.infoWindowLabel.setStyle('fontWeight', "bold");
- // map.infoWindow.infoWindowLabel.setStyle('verticalAlign', "middle");
- // map.infoWindow.infoWindowLabel.height = 25;
- // map.infoWindow.infoWindowLabel.maxWidth=250;
- // map.infoWindow.infoWindowLabel.top = 18;
- // map.infoWindow.infoWindowLabel.left = 8;
- /*map.infoWindow.maintainProjectionCenter=false;*/
- /*var img:Image=new Image();
- map.infoWindow.addElement();*/
- }
-
- /**
- * 增加泊位详情
- */
- private static function addBwxq(grid:Grid, obj:Object):void {
- var id:String = obj.GISID;
- // 定义link
- var link:LinkButton=new LinkButton();
- link.addEventListener(MouseEvent.CLICK,function (e:MouseEvent):void {ServicesUtility.bwInfo(e,id);});
- link.label="详 情>> ";
- // link.useHandCursor = true;
- // link..buttonMode = true;
- link.setStyle("color","#2F6EA1");
- // 将link插入表行
- var row:GridRow = new GridRow();
- var rowItem:GridItem = new GridItem();
- rowItem.colSpan = 5;
- rowItem.addChild(link);
- rowItem.setStyle("horizontalAlign","center");
- row.addChild(rowItem);
- grid.addChild(row);
- }
-
- /**
- * 增加泊位详情
- */
- private static function bwInfo(e:MouseEvent, id:String):void {
- if(null == id || typeof(id) == "undefined") {
- } else {
- var bwxqModel:BwxqModel = new BwxqModel;
- bwxqModel.bwid = id;
- var width:int = FlexGlobals.topLevelApplication.stage.stageWidth;
- var height:int = FlexGlobals.topLevelApplication.stage.stageHeight;
- var x:Number = width/2-230;
- var y:Number = height/2 - 165;
- CommonUtility.showTitleWindow(bwxqModel, false, x, y);
- }
-
- }
- }
- }
|