Получить все направления, используя Bing Map SDK в UWP

Можно ли получить все направления движения с указанным местоположением ОТ и ОТ в UWP, используя Bing Map SDK? (так же, как приложение карты Windows 10)

1 ответ

Да: Получить маршрут или маршрут для вождения или прогулки, вызвав методы класса MapRouteFinder, например, GetDrivingRouteAsync или GetWalkingRouteAsync. Объект MapRouteFinderResult содержит объект MapRoute, доступ к которому осуществляется через его свойство Route.

Когда вы запрашиваете маршрут, вы можете указать следующие вещи: • Вы можете указать только начальную точку и конечную точку, или вы можете указать ряд путевых точек для расчета маршрута. • Вы можете указать оптимизации - например, минимизировать расстояние. • Вы можете указать ограничения - например, избегать автомагистралей.

Вы можете использовать пример кода как этот:

    private async void GetRouteAndDirections()
    {
        // Start at Microsoft in Redmond, Washington.
        BasicGeoposition startLocation = new BasicGeoposition();
        startLocation.Latitude = 47.643;
        startLocation.Longitude = -122.131;
        Geopoint startPoint = new Geopoint(startLocation);

        // End at the city of Seattle, Washington.
        BasicGeoposition endLocation = new BasicGeoposition();
        endLocation.Latitude = 47.604;
        endLocation.Longitude = -122.329;
        Geopoint endPoint = new Geopoint(endLocation);

        // Get the route between the points.
        MapRouteFinderResult routeResult =
            await MapRouteFinder.GetDrivingRouteAsync(
            startPoint,
            endPoint,
            MapRouteOptimization.Time,
            MapRouteRestrictions.None);

        if (routeResult.Status == MapRouteFinderStatus.Success)
        {
            // Display summary info about the route.
            tbOutputText.Inlines.Add(new Run()
            {
                Text = "Total estimated time (minutes) = "
                    + routeResult.Route.EstimatedDuration.TotalMinutes.ToString()
            });
            tbOutputText.Inlines.Add(new LineBreak());
            tbOutputText.Inlines.Add(new Run()
            {
                Text = "Total length (kilometers) = "
                    + (routeResult.Route.LengthInMeters / 1000).ToString()
            });
            tbOutputText.Inlines.Add(new LineBreak());
            tbOutputText.Inlines.Add(new LineBreak());

            // Display the directions.
            tbOutputText.Inlines.Add(new Run()
            {
                Text = "DIRECTIONS"
            });
            tbOutputText.Inlines.Add(new LineBreak());

            foreach (MapRouteLeg leg in routeResult.Route.Legs)
            {
                foreach (MapRouteManeuver maneuver in leg.Maneuvers)
                {
                    tbOutputText.Inlines.Add(new Run()
                    {
                        Text = maneuver.InstructionText
                    });
                    tbOutputText.Inlines.Add(new LineBreak());
                }
            }
        }
        else
        {
            tbOutputText.Text =
                "A problem occurred: " + routeResult.Status.ToString();
        }

    }

Более подробная информация здесь: https://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn631250.aspx

Другие вопросы по тегам