使用.NET4.0 编写简单的应用程序获知地理位置

.NET 4.0 中对于位置传感器提供了GeoCoordinateWatcher类。通过这个类能方便的访问传感器信息。刚才小写了一段代码,来演示将得到的地理位置显示在google map上面。首先来看看应用程序的界面:

image

代码如下:

public partial class Form1 : Form
{
    private GeoCoordinateWatcher _GeoCoordinateWatcher;
    public Form1()
    {
        InitializeComponent();
        _GeoCoordinateWatcher = new GeoCoordinateWatcher();
    } 

    private void Form1_Load(object sender, EventArgs e)
    {
        _GeoCoordinateWatcher.PositionChanged += new EventHandler<GeoPositionChangedEventArgs<GeoCoordinate>>(_GeoCoordinateWatcher_PositionChanged);
        _GeoCoordinateWatcher.Start();
    } 

    void _GeoCoordinateWatcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
    {
        if (!e.Position.Location.IsUnknown)
        {
            this.webBrowser1.Navigate(string.Format(CultureInfo.InvariantCulture, "{0}{1},{2}", new object[] { "http://maps.google.com/?ie=UTF8&z=15&q=", e.Position.Location.Latitude, e.Position.Location.Longitude }));
        }
    }
} 

注意事项:

1. 该应用程序使用VS2010编写,并且使用.NET Framework 4.0,而且要在工程中引用 System.Device

2. 确保你的操作系统是Windows 7.

3. 确保你已经成功的安装上了相关的传感器软件。推荐使用:geosenseforwindows

4. 一定要选中在控制面板中的传感器复选框。

 

OK。就写到这里,有兴趣的自己试试吧。

posted @ 2010-07-08 12:09  yangjingbo  阅读(375)  评论(1编辑  收藏  举报