CivicAddressResolver总是返回UnKnown(未知)

问题描述 投票:0回答:1

我正试图通过使用 System.Device.Location 命名空间.以下是我尝试的代码

 GeoCoordinateWatcher watcher = new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
        watcher.MovementThreshold = 1.0; // set to one meter

        CivicAddressResolver resolver = new CivicAddressResolver();

        for (int k = 0; k < 100; k++)

        {

            watcher.TryStart(false, TimeSpan.FromMilliseconds(2000));
            GeoCoordinate coord = watcher.Position.Location;

            Console.WriteLine("Temp " + k + ", status: " + watcher.Status.ToString());

            if (coord.IsUnknown != true)
            {
                CivicAddress address = resolver.ResolveAddress(watcher.Position.Location);


                Console.WriteLine("Lat: {0}, Long: {1}",
                    coord.Latitude,
                    coord.Longitude);
                Console.WriteLine("Country ",address.CountryRegion);

            }
            else
            {
                Console.WriteLine("Unknown latitude and longitude.");
            }
        }

使用这段代码,我能够成功地得到经纬度,但地址总是不知道,甚至我试过一些经纬度。我使用的是.NET框架4.7.2。

请帮我解决这个问题。先谢谢你

c# .net geolocation location
1个回答
0
投票

我遇到了同样的问题。我得出的结论是,即使在.net 4.8中,CivicAddressResolver也没有实现。使用从watcher中得到的坐标,我能够使用Google Maps API来返回与坐标接近匹配的地址。

© www.soinside.com 2019 - 2024. All rights reserved.