Поделиться через


Общие сведения о примере Bing Maps Trip Optimizer

В этом документе описаны основные характеристики проекта Bing Maps Trip Optimizer, а также его создание, структурирование и построение.

Примечание

Пример кода, соответствующий этому документу, входит в состав примера приложения Bing Maps Trip Optimizer.

Содержание этой статьи

  • Создание проектов Visual Studio

  • Сборка, развертывание и запуск примера

  • Рабочий процесс приложения

  • Следующие шаги

Создание проектов Visual Studio в Visual Studio

Если вы загрузили и извлекли пример, можно открыть файл решения TripOptimizer.sln в Visual Studio, чтобы иметь код перед глазами. Исходный код можно также посмотреть на странице галереи примеров MSDN Пример приложения Bing Maps Trip Optimizer, перейдя на вкладку Обзор кода.

Создавая проекты Visual Studio для приложения Bing Maps Trip Optimizer, мы использовали шаблон JavaScript Пустое приложение для создания основного проекта приложения и шаблон Visual C++ Компонент среды выполнения Windows для создания библиотеки классов C++. Проект JavaScript ссылается на проект C++. Настройка ссылок на проект объясняется в документе Создание компонентов среды выполнения Windows в C++.

Шаблон Пустое приложение предоставляет проекту JavaScript базовую функциональность, необходимую для выполнения в качестве приложения Магазин Windows. Используйте этот шаблон для создания пустого приложения. Visual Studio включает дополнительные шаблоны, которые предоставляют расширенные исходные функциональные возможности. Приложение Bing Maps Trip Optimizer по умолчанию использует файлы, входящие в состав шаблона Пустое приложение, и добавляет дополнительное изображение и файлы кода.

В шаблоне Библиотека классов WinRT имеется один важный параметр — /ZW, который позволяет программе использовать расширения языка Среда выполнения Windows.

Предупреждение

Параметр /ZW несовместим с такими параметрами, как /clr.Это означает, что отдельный проект Visual C++ не может быть одновременно предназначен для платформы .NET Framework и Среда выполнения Windows.

Каждое приложение Магазин Windows, полученное из Магазин Windows, поставляется в виде пакета приложения. Пакет приложения содержит манифест пакета, который включает в себя информацию о приложении. Например, можно задать возможности приложения, которые определяют его права доступа к защищенным системным ресурсам или данным пользователя. Определив возможности, необходимые для приложения, используйте манифест пакета для объявления этих возможностей. Bing Maps Trip Optimizer задает режим Интернет (клиент), чтобы предоставить приложению доступ к веб-службам Bing Maps. Дополнительные сведения о пакетах и возможностях приложения см. в разделе App packages and deployment.

Дополнительные сведения о функциях и компонентах, доступных в интегрированной среде разработки Visual Studio для проектов C++, JavaScript и .NET см. в разделе Develop Windows Store apps using Visual Studio.

[Наверх]

Построение, развертывание и запуск примера

Выполните построение проекта приложения Магазин Windows так же, как для стандартного проекта. (В строке меню последовательно выберите пункт Построение и команду Построить решение.) На этапе построения код компилируется и упаковывается для использования в качестве приложения Магазин Windows.

После построения проекта его необходимо развернуть. (В строке меню последовательно выберите пункт Построение и команду Развернуть решение.) Visual Studio также развертывает проект при запуске приложения из отладчика.

После развертывания проекта выберите плитку Bing Maps Trip Optimizer, чтобы запустить приложение. Также можно последовательно выбрать в Visual Studio в строке меню пункт Отладка и команду Начать отладку. Убедитесь, что TripOptimizerWebApp является запускаемым проектом.

Примечание

Для выполнения этого примера необходим ключ Bing Maps.Сведения о получении ключа Bing Maps см. в разделе Getting a Bing Maps Key.

[Наверх]

Рабочий процесс приложения

Здесь представлен рабочий процесс приложения.

  1. Ввод местоположений для маршрута (не более 25). Первая запись определяет и начальное, и конечное местоположение.

    Совет

    Для заполнения области предопределенными значениями можно выбрать Parks Demo или Delivery Demo.

  2. Выбор способа путешествия (пешком или на машине), единиц измерения расстояния (мили или километры) и метода оптимизации (минимальное расстояние, минимальное время или выбор пути без пробок).

  3. При необходимости: задание входных значений для алгоритма оптимизации и указание, следует ли использовать параллельные вычисления. Параллельные вычисления включены по умолчанию.

    Примечание

    Раздел Дополнительные параметры включен как средство обучения для разработчиков.Эти параметры не войдут в состав приложения.

  4. Выбор команды Get Directions (Получить направления) для запуска процесса. Компонент JavaScript приложения передает местоположения и параметры в компонент Среда выполнения Windows C++. Компонент C++ выполняет следующие действия.

    1. Извлечение широты и долготы каждого местоположения с помощью служб Bing Maps Representational State Transfer (REST). В составе ответа Bing Maps включает все возможности, соответствующие строке местоположения.

    2. Для всех местоположений, имеющих более одной возможности, отображаются все возможности в пользовательском интерфейсе и выполняется возвращение к шагу 1.

    3. Получение расстояния (для поездки на машине или прогулки пешком) из каждого местоположения в каждое другое местоположение с помощью служб Bing Maps REST. Этот шаг использует значения широты и долготы, которые были получены на шаге 1.

    4. Вычисление оптимизированного маршрута по всем местоположениям и передача этого маршрута в компонент JavaScript приложения.

  5. Компонент HTML/JavaScript показывает пошаговые направления движения и отображает оптимизированный маршрут с помощью элемент управления AJAX службы Bing Maps.

  6. C картой можно взаимодействовать. При выборе шага или местоположения из направлений движения элемент управления AJAX перемещает этот шаг или местоположение и добавляет на карту значок канцелярской кнопки.

На следующем рисунке показано более общее представление рабочего процесса.

Рабочий процесс приложения

Компонент C++ использует службы Bing Maps REST на двух этапах. На первом этапе службы помогают пользователю проверить, что в Bing Maps введены правильные местоположения. Например, если указать "Pittsburgh", Bing Maps может возвратить следующие возможности: "Pittsburgh, PA", "Pittsburgh, ON" и "Pittsburgh, GA". Если неоднозначности были устранены на ранней стадии процесса, второй этап, на котором определяется расстояние из каждой точки до каждой другой точки, может быть выполнен без неоднозначных местоположений.

Примечание

Нам удалось реализовать взаимодействие со службами Bing Maps REST в компоненте JavaScript приложения.Мы добавили это взаимодействие в компонент C++, чтобы продемонстрировать, как взаимодействовать с интерфейсом REST и выполнять синтаксический анализ XML-ответов из C++.

[Наверх]

Следующие шаги

Сведения об использовании JavaScript в приложении Bing Maps Trip Optimizer см. в разделе Использование JavaScript в примере Bing Maps Trip Optimizer.

[Наверх]