public WeatherInfo GetWeatherByGeo(double longitude, double latitude) { if (Root == null) { Root = new Node() { Parent = null }; ReadDistrictData(); } return GetWeatherByDistrict(GetDistrictByGeo(longitude, latitude, 10)); }
private void InsertIntoTree(DistrictInfo info, Node root) { root.Name = info.Nation; if (root.Childs == null) { root.Childs = new Dictionary<string, Node>(); } if (!root.Childs.ContainsKey(info.AmapCityCode)) { root.Childs.Add(info.AmapCityCode, new Node() { Id = info.AmapCityCode, Name = info.City, Parent = root }); } if (root.Childs[info.AmapCityCode].Childs == null) { root.Childs[info.AmapCityCode].Childs = new Dictionary<string, Node>(); } if (!root.Childs[info.AmapCityCode].Childs.ContainsKey(info.District)) { root.Childs[info.AmapCityCode].Childs.Add(info.District, new Node() { Id = info.AreaId, Name = info.District, Parent = root.Childs[info.AmapCityCode] }); } }