没有GPS获取经度和纬度(Windows Mobile)

Van*_*nel 4 c# gps geolocation windows-mobile

我想知道是否有一种方法可以在不使用GPS的情况下获得我的位置的纬度和经度.

我为Windows Mobile 5.0及更高版本,C#和.NET Compact Framework开发Windows窗体应用程序.我使用GPS和Bing地图在地图上显示用户位置,但有时候使用GPS确定用户位置是不可能的.我看到谷歌地图(例如)可以确定用户可能的区域.

我怎么能在我的申请表上这样做?

谢谢!

Joh*_*bly 5

您似乎可以订阅GPS位置更改事件:

private Gps _gps = new Gps();
private GpsPosition _currentPosition;

public void Start()
{
    _gps.LocationChanged += new 
      Microsoft.Location.LocationChangedEventHandler(_gps_LocationChanged);

    if (!_gps.Opened)
    {
        _gps.Open();
    }
}

private void _gps_LocationChanged(object sender, 
        Microsoft.Location.LocationChangedEventArgs args)
{
    _currentPosition = args.Position;
}
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅此文章,以及有关如何使用单元塔获取位置的详细信息:

在Windows Mobile设备上查找您的位置


Wil*_*ill 5

小区ID可用于给出非常粗糙的地理区域; 有一个开源的努力来获取这些信息,各个公司出售信息,如果你努力挖掘,你可能会发现谷歌地图使用的未发布的API.

http://www.codeproject.com/KB/mobile/DeepCast.aspx,在另一篇文章中链接,演示了如何获取单元格ID并将其发送到Google未发布的API以进行解析.