예제 #1
0
        /// <summary>
        /// 更新尺寸
        /// </summary>
        public void UpdateMapMarkerSize()
        {
            double zoom = map.Zoom;

            if (appState.MapDatas.DicHostInfoMarker != null && appState.MapDatas.DicHostInfoMarker.Values.Count > 0)
            {
                foreach (GMapMarker g in appState.MapDatas.DicHostInfoMarker.Values)
                {
                    CustomMarkerHostInfo c = (CustomMarkerHostInfo)g.Shape;
                    if (c != null)
                    {
                        c.UpdateSize(zoom / 18);
                    }
                }
            }
            if (appState.MapDatas.DicLightInfoMarker != null && appState.MapDatas.DicLightInfoMarker.Values.Count > 0)
            {
                foreach (GMapMarker g in appState.MapDatas.DicLightInfoMarker.Values)
                {
                    CustomMarkerLightInfo c = (CustomMarkerLightInfo)g.Shape;
                    if (c != null)
                    {
                        c.UpdateSize(zoom / 18);
                    }
                }
            }
        }
예제 #2
0
        /// <summary>
        /// 增加单灯,更新左侧列表的全部组,增加地图标记,增加全局缓冲单灯
        /// </summary>
        /// <param name="li"></param>
        public GMapMarker MapAddLightInfo(LightInfo l, GMapControlExt gMapControlExt)
        {
            // 更新地图信息
            GMapMarker g     = null;
            Color      color = Colors.White;

            g = new GMapMarker(new PointLatLng((double)l.Lat, (double)l.Lng));
            {
                switch (l.RealTimeFault)
                {
                case LightFaultEnum.BallastError:
                    //result = "镇流器错误";
                    color = Colors.Red;
                    break;

                case LightFaultEnum.CloseExtistCurrent:
                    //result = "关灯有电流";
                    color = Colors.Red;
                    break;

                case LightFaultEnum.CommError:
                    //result = "通讯异常";
                    color = Colors.Red;
                    break;

                case LightFaultEnum.LampError:
                    //result = "灯故障";
                    color = Colors.Red;
                    break;

                case LightFaultEnum.None:
                    //result = "正常";
                    color = Colors.White;
                    break;

                case LightFaultEnum.NormalClose:
                    //result = "正常关";
                    color = Colors.Gray;
                    break;

                case LightFaultEnum.NormalOpen:
                    //result = "正常开";
                    color = Colors.Orange;
                    break;

                case LightFaultEnum.OpenSmallPower:
                    //result = "开灯无电流";
                    color = Colors.Red;
                    break;

                default:
                    break;
                }
                CustomMarkerLightInfo c = new CustomMarkerLightInfo(l, color);
                c.UpdateSize(gMapControlExt.Zoom / 18);
                g.Shape  = c;
                g.Offset = new System.Windows.Point(-3, -15);
                g.ZIndex = int.MaxValue;
                gMapControlExt.Markers.Add(g);
            }
            return(g);
        }