首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在C#应用程序中使用HTML5地理定位

如何在C#应用程序中使用HTML5地理定位
EN

Stack Overflow用户
提问于 2015-03-23 21:35:19
回答 4查看 3.5K关注 0票数 20

我在开发一个防盗软件来确定电脑的确切位置。内置全球定位系统的笔记本电脑在我的国家非常少见,所以我不得不在我的应用程序中使用HTML5 Geolocation

对于Internet Explorer 9+,有一个注册表项,您可以添加url以允许url,而无需用户验证。如果您在REG_DWORD路径下添加一个名为domain.com的HKCU\Software\Microsoft\Internet Explorer\Geolocation\HostConsent值,浏览器将自动允许地理位置请求。然而,我不能运行Internet Explorer隐藏,所以这对我不起作用,因为小偷不应该意识到和看到发生了什么。

  • 我需要以某种方式隐藏运行Internet Explorer
  • ...or我需要将webkit或其他东西嵌入到我的应用程序中,但我不知道如何使用它或如何允许此请求programmatically.

我更喜欢第二种方式,因为Internet Explorer现在被微软终止了,我认为下一个版本将有不同的结构。

如何在我的应用程序中嵌入和使用Webkit或GeckoFX?如何在此应用程序中以编程方式允许地理位置请求?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2015-03-26 05:03:53

依赖隐藏的浏览器是一个有风险的解决方案,而且在未来的某个时候它将不可避免地崩溃。

相反,您希望在自己的应用程序中构建地理定位功能。位置信息的两个主要来源是你的IP地址(然后输入到任何GeoIP providers中)和可见的蜂窝/Wi-Fi站(输入到Google geolocation API中)。

票数 8
EN

Stack Overflow用户

发布于 2015-05-20 16:56:11

看一下在System.Device程序集中定义的GeoCoordinateWatcher

GeoCoordinateWatcher类从当前位置提供程序提供基于坐标的位置数据。基于多个因素,例如来自所有提供商的数据的年龄和准确性、位置应用程序所请求的准确性以及与位置提供商相关联的功耗和性能影响,将当前位置提供商确定为计算机上最高的位置提供商。当前的位置提供商可能会随着时间的推移而变化,例如,当GPS设备在室内失去卫星信号时,Wi-Fi三角测量提供商成为计算机上最准确的提供商。

使用示例:

代码语言:javascript
复制
static void Main(string[] args)
{
    GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

    watcher.StatusChanged += (sender, e) =>
    {
        Console.WriteLine("new Status : {0}", e.Status);
    };

    watcher.PositionChanged += (sender, e) =>
    {
        Console.WriteLine("position changed. Location : {0}, Timestamp : {1}",
            e.Position.Location, e.Position.Timestamp);
    };

    if(!watcher.TryStart(false, TimeSpan.FromMilliseconds(5000)))
    {
         throw new Exception("Can't access location"); 
    }

    Console.ReadLine();
}

我认为这个类所依赖的机制与Internet Explorer所使用的机制相同。

当您使用它时,您的系统通知托盘中会有一个图标,告诉您该位置最近被访问过。

您还将在windows日志中添加一个条目。

票数 4
EN

Stack Overflow用户

发布于 2015-05-24 03:26:41

如果要部署到最新版本的Windows,则可以使用.NET System.Device.Location的本地库,该库允许您获取设备位置信息。

在MSDN上有一个如何使用GeoCoordinate Class的链接

如果使用XAML,您也可以尝试此方法。Detect Users Location using XAML

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29211640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档