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