using System; using System.Collections.Generic; using Shared; namespace HDL_ON.UI.UI2.Intelligence.Automation { public class ChooseIocate : FrameLayout { public ChooseIocate() { Tag = "Logic"; } /// /// 地理围栏View /// /// 进入(arrive)或者离开(leave) /// /// 纬度 /// 经度 /// 半径(默认500米) public void Show(double latitude, double longitude, int r, Action action) { LogicView.TopView topView = new LogicView.TopView(); this.AddChidren(topView.FLayoutView()); topView.clickBackBtn.MouseUpEventHandler += (e, sen) => { RemoveFromParent(); }; topView.topNameBtn.TextID = StringId.Setting;// = "选择定位位置"; FrameLayout viewLayout = new FrameLayout { Y = Application.GetRealHeight(64), Width = Application.GetRealWidth(LogicView.TextSize.view375), Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64), BackgroundColor = CSS.CSS_Color.viewMiddle, }; this.AddChidren(viewLayout); //当前的经纬度 LogicView.SelectTypeView lonlatView = new LogicView.SelectTypeView(); lonlatView.btnIcon.Visible = false; lonlatView.btnNextIcon.Visible = false; lonlatView.btnText.X = Application.GetRealWidth(16); lonlatView.btnLine.X = Application.GetRealWidth(16); lonlatView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); lonlatView.btnText.TextID = StringId.LatAndLon; lonlatView.btnState.Visible = true; lonlatView.btnState.IsMoreLines = true; lonlatView.btnState.Height = Application.GetRealHeight(25); lonlatView.btnState.Text =latitude.ToString() +"\r\n"+ longitude.ToString(); viewLayout.AddChidren(lonlatView.FLayoutView()); //在该位置范围时 LogicView.SelectTypeView locateView = new LogicView.SelectTypeView(); locateView.frameLayout.Y = lonlatView.frameLayout.Bottom; locateView.btnIcon.Visible = false; lonlatView.btnNextIcon.Visible = false; locateView.btnText.X = Application.GetRealWidth(16); locateView.btnLine.X = Application.GetRealWidth(16); locateView.btnLine.Width = Application.GetRealWidth(375 - 16 - 16); locateView.btnText.TextID = StringId.TriggeredRange; locateView.btnState.Visible = true; locateView.btnState.Text = this.queryItem(r.ToString()); viewLayout.AddChidren(locateView.FLayoutView()); ///保存View LogicView.SaveView saveView = new LogicView.SaveView(); saveView.frameLayout.Y = locateView.frameLayout.Bottom + Application.GetRealHeight(100); saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); viewLayout.AddChidren(saveView.FLayoutView()); locateView.btnClick.MouseUpEventHandler += (sen, e) => { PublicInterface weekView = new PublicInterface(); weekView.SingleSelectionShow(this, this.getList(), Language.StringByID(StringId.cyclic), locateView.btnState.Text , (value) => { //显示选中数据 locateView.btnState.Text = value; }); }; saveView.btnClick.MouseUpEventHandler += (sender, e) => { action(locateView.btnState.Text); }; } private string queryItem(string value) { var item = this.getList().Find((o) => o.Contains(value)); if (item == null) { return ""; } return item; } private List getList() { return new List { "100m", "200m", "500m", "1000m", "2000m", "5000m", }; } } }