ReverseGeocode() 공개 메소드

public ReverseGeocode ( Location location ) : IEnumerable
location Location
리턴 IEnumerable
    public static void markers_address(object[] lat_long)
    {
        Dictionary<int, Dictionary<string, object>> struc = new Dictionary<int, Dictionary<string, object>>();
        Dictionary<string, object> inner = new Dictionary<string, object>();
        List<string> lat_long_pair = new List<string>();
        for (int i = 0; i < lat_long.Length; i++)
        {
            inner = (Dictionary<string, object>)lat_long.GetValue(i);
            foreach (var pair in inner)
            {
                string a = pair.Key;
                object b = pair.Value;
                string lat_lng_str = (string)Convert.ChangeType(b, typeof(string));
                lat_long_pair.Add(lat_lng_str);
            }
        }

        // convert lat-long to place
        var locationService = new GoogleLocationService();
        // List<string> marker_place = new List<string>();
        var count = 0;
        marker_place.Clear();
        for (int i = 0; i < lat_long_pair.Count; i = i + 2)
        {
            IGeocoder geocoder = new GoogleGeocoder() { };
            try
            {
                IEnumerable<Address> addresses = geocoder.ReverseGeocode(Convert.ToDouble(lat_long_pair[i]), Convert.ToDouble(lat_long_pair[i + 1]));

                foreach (Address adr in addresses)
                {
                    if (count == 0)
                    {
                        string address = adr.FormattedAddress;
                        marker_place.Add(address);
                    }
                    break;
                }
                count = 0;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
    }
예제 #2
0
        public static void Main(string[] args)
        {
            var geoCoder = new GoogleGeocoder();
            var addresses = geoCoder.Geocode("53 rue de Rechèvres").ToList();

            foreach (var address in addresses)
            {
                Console.WriteLine("Formatted: " + address.FormattedAddress); //Formatted: 1600 Pennslyvania Avenue Northwest, Presiden'ts Park, Washington, DC 20500, USA
                Console.WriteLine("Coordinates: " + address.Coordinates.Latitude + ", " + address.Coordinates.Longitude); //Coordinates: 38.8978378, -77.0365123

                var reverse = geoCoder.ReverseGeocode(new Location(address.Coordinates.Latitude, address.Coordinates.Longitude));
                var toDisplay = string.Empty;

                foreach (var item in reverse)
                {
                    toDisplay = item.FormattedAddress;
                }

                Console.WriteLine(toDisplay);
            }

            Console.ReadKey();

            var date = DateTime.Now.ToString("yyyyMMdd");

            GenerateFichierPoi(addresses, date);

            Console.ReadKey();
        }