【发布时间】:2016-08-05 16:47:41
【问题描述】:
我有使用 Windows 计算机中的 system.device.location api 的代码。这应该是相当简单的代码
var watcher = new GeoCoordinateWatcher();
watcher.PositionChanged +=
new EventHandler<GeoPositionChangedEventArgs<
GeoCoordinate>>(GeoPositionChanged);
watcher.Start();
var coord = watcher.Position.Location;
我的意思是我需要做的就是启动一个地理观察器,然后读取位置。但它只返回“位置未知”,我想知道代码是否存在问题,或者是否需要在计算机上安装某些东西,或者什么。我已经用几个 Windows 7 pc 和 1 个 Windows 10 pc 试过这个,它们都在设置中打开了共享位置。那么这段代码有什么问题呢?如果这有什么不同的话,这也是 geopositionchanged 的代码。
private static void GeoPositionChanged(object sender,
GeoPositionChangedEventArgs<GeoCoordinate> e)
{
MessageBox.Show("The current location is: " +
e.Position.Location.Latitude + "/" +
e.Position.Location.Longitude + ".");
}
【问题讨论】:
-
等待定位服务准备好。您的 GeoCoordinateWatcher 有一个状态更改事件和另一个位置更改事件。
-
我在 asp.net mvc 中遇到一个问题,如果您的网站未启用 SSL,则地理位置无法正常工作
标签: c# windows geolocation