MapRouteFinder不适用于步行路线

时间:2014-08-14 12:39:01

标签: c# windows-phone-8 geolocation windows-runtime windows-phone-8.1

我正在使用MapRouteFinder课程。它应该找到两个Geopoint之间的路线。

如果我尝试找到具有GetDrivingRouteAsync()功能的路线,一切正常。问题是,当我致电GetWalkingRouteAsync()时,MapRouteFinderResult.Status恰好是UnknownError。这不是真正的信息,我知道可能是什么问题。

以下是使用UnknownError生成的示例代码:

Geopoint point1 = new Geopoint(new BasicGeoposition()
{
    Latitude = 45.461037,
    Longitude = 9.20262
});

Geopoint point2 = new Geopoint(new BasicGeoposition()
{
    Latitude = 45.459506037577,
    Longitude = 9.1983944177628
});

var routeResult = await MapRouteFinder.GetWalkingRouteAsync(point1, point2);

你知道什么会导致这个问题吗?我通过Geolocator获得地理坐标,所以他们不会出现任何问题,是吗?在此先感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

近4年后,我面临着完全相同的问题。经过几天的努力,我才知道还有另一个Microsoft API提供了所需的信息。是BINGMapsRESTToolKit!我通过Nuget Manager将其添加到我的UWP应用程序项目中,并使用了以下代码,它可以正常工作!

var req = new RouteRequest()
{
 BingMapsKey = [YOUR BING MAPS KEY],
 Waypoints = new List<SimpleWaypoint>()
 {
  new SimpleWaypoint(latitude1,longitude1),
  new SimpleWaypoint(latitude2,longitude2)
 },
 RouteOptions = new RouteOptions()
 {
  TravelMode = TravelModeType.Walking
 },
};
var response = await req.Execute();
var stopDistance =(((BingMapsRESTToolkit.Route)response.ResourceSets.FirstOrDefault().Resources.FirstOrDefault()).TravelDistance);

希望它可以帮助某人...