如何在Windows商店应用程序中使用GeoPoint API获得我当前的位置

本文关键字:API 位置 GeoPoint Windows 应用程序 | 更新日期: 2023-09-27 18:11:39

我正在将WP8应用程序迁移到W8.1,我一直在阅读地理位置API不应该更多地用于W8.1/WP8.1或更新的操作系统(我在MSDN上阅读)。然而,我找不到任何例子或想法如何获得我的当前位置与 gepoint API。这是我当前的代码:

public async void GetSinglePositionAsync() {
    Geolocator geolocator = null;
    Geopoint geoposition = null;
    try
    {
        geolocator = new Windows.Devices.Geolocation.Geolocator();
        geolocator.DesiredAccuracy = PositionAccuracy.High;
        geoposition = await geolocator.GetGeopositionAsync();
        double latitude = geoposition.Position.Latitude;
        double longitude = geoposition.Position.Longitude;
        int altitude = (int)geoposition.Position.Altitude;
    }
    catch (Exception ex)
    {
        // Something else happened while acquiring the location.
        lblGravity.Text = ex.ToString();
    }
}

我最大的问题是当我初始化geposition变量时,因为它给了我这个错误:"不能隐式转换类型"Windows.Devices.Geolocation。定位到Windows.Devices.Geolocation。,我不知道如何转换它或其他方法来初始化它。

非常感谢您的宝贵时间和帮助。给出的答案也可以在最新的Windows上实现。

如何在Windows商店应用程序中使用GeoPoint API获得我当前的位置

这段代码是可以翻译的。

public async void getposition() {
    Geolocator geolocator = new Geolocator();
    Geoposition geoposition = null;
    geoposition = await geolocator.GetGeopositionAsync();
    MyMap.Center = geoposition.Coordinate.Point;
    // zoom level
    MyMap.ZoomLevel = 15;
}
public async void GetSinglePositionAsync()
{
    Geolocator myGeolocator = new Geolocator();
    Geoposition myGeoposition = await myGeolocator.GetGeopositionAsync();
    Geocoordinate myGeocoordinate = myGeoposition.Coordinate;
    GeoCoordinate myGeoCoordinate = CoordinateConverter.ConvertGeocoordinate(myGeocoordinate);
}

How to show your current location