/// <summary> /// 选中POI /// </summary> internal void SelectPlace(BPOI poi) { foreach (Control c in flpPlaces.Controls) { if (c is BPlaceItem) { BPlaceItem p = c as BPlaceItem; if (p.POI == poi) { p.Selected = true; flpPlaces.ScrollControlIntoView(c); } else { p.Selected = false; } } } }
/// <summary> /// 将位置显示在列表中 /// </summary> /// <param name="places"></param> internal void AddPlaces(JToken places) { flpPlaces.Controls.Clear(); //清空原来所有位置 if (Parent != null && Parent is TabPage) //如果父控件是tabpage 则选中 { ((Parent as TabPage).Parent as TabControl).SelectedTab = (Parent as TabPage); } if (BDirectionBoard != null) //导航控件初始化 { BDirectionBoard.Clear(); } //加载位置项 int index = 0; List <BPOI> _list = new List <BPOI>(); foreach (JObject place in places) { if (place["location"] != null && place["location"]["lng"] != null && (string)place["location"]["lng"] != "") { LatLngPoint location = new LatLngPoint(double.Parse((string)place["location"]["lng"]), double.Parse((string)place["location"]["lat"])); BPOI poi = new BPOI { DataSource = place, Index = index, Selected = false, Location = location }; _list.Add(poi); BPlaceItem item = new BPlaceItem(); item.Index = index++; item.POI = poi; item.SetDestinationPlace += new SetDestinationPlaceEventHandler(item_SetDestinationPlace); item.SetSourcePlace += new SetSourcePlaceEventHandler(item_SetSourcePlace); item.PlaceSelectedChanged += new PlaceSelectedChangedEventHandler(item_PlaceSelectedChanged); item.Height = 104; flpPlaces.Controls.Add(item); } } if (BMapControl != null) { BMapControl.AddPlaces(_list); } }