/// <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); } } } }
/// <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); }