Información general del ejemplo de Bing Maps Trip Optimizer
En este documento se describen características fundamentales del proyecto de Optimizador de recorridos de Mapas de Bing, por ejemplo, cómo se crea y estructura, y cómo se compila.
Nota |
---|
El código de ejemplo que corresponde a este documento se encuentra en el ejemplo del optimizador de recorridos de Mapas de Bing (Bing Maps Trip Optimizer). |
En este artículo
Crear los proyectos de Visual Studio
Compilar, implementar y ejecutar el ejemplo
Flujo de trabajo de aplicaciones
Pasos siguientes
Crear proyectos de Visual Studio en Visual Studio
Si has descargado y has extraído el ejemplo, puedes abrir el archivo de solución TripOptimizer.sln en Visual Studio y tendrás el código delante de ti. También puedes ver el código fuente en la página de ejemplo de Optimizador de recorridos de Mapas de Bing de la galería de ejemplos de MSDN si seleccionas la pestaña Examinar código.
Cuando creamos los proyectos de Visual Studio para Optimizador de recorridos de Mapas de Bing, utilizamos la plantilla Aplicación vacía de JavaScript para crear el proyecto de aplicación principal y la plantilla Componente de Windows en tiempo de ejecución de Visual C++ para crear la biblioteca de clases de C++. El proyecto de JavaScript hace referencia al proyecto de C++. El documento Crear componentes de Windows en tiempo de ejecución en C++ explica cómo configurar una referencia de proyecto.
Para el proyecto de JavaScript, la plantilla Aplicación vacía proporciona la funcionalidad básica que se necesita para ejecutarlo como una aplicación de la Tienda Windows. Usa esta plantilla para crear una aplicación vacía. Visual Studio incluye plantillas adicionales que proporcionan funcionalidad inicial mejorada. Optimizador de recorridos de Mapas de Bing utiliza los archivos predeterminados que acompañan a la plantilla Aplicación vacía y agrega imagen y archivos de código adicionales.
Una configuración importante del proyecto en la plantilla Biblioteca de clases de WinRT es la opción /ZW, que permite al programa usar las extensiones de lenguaje de Windows en tiempo de ejecución.
Precaución |
---|
La opción /ZW no es compatible con opciones como /clr.Esto significa que no puedes establecer como destino .NET Framework y Windows en tiempo de ejecución desde el mismo proyecto de Visual C++. |
Cada aplicación de la Tienda Windows en la Tienda Windows viene en forma de un paquete de la aplicación. Un paquete de la aplicación contiene un manifiesto del paquete, que contiene información sobre la aplicación. Por ejemplo, puedes especificar sus capacidades, que definen el acceso a los recursos del sistema o los datos de usuario protegidos. Si determinas que la aplicación requiere determinadas capacidades, utiliza el manifiesto del paquete al declararlas. Optimizador de recorridos de Mapas de Bing especifica Internet (cliente) para permitir que la aplicación tenga acceso a los servicios web de Mapas de Bing. Para obtener más información sobre los paquetes y las capacidades de la aplicación, consulta App packages and deployment.
Para obtener más información sobre las características y los componentes que están disponibles en el entorno de desarrollo integrado (IDE) de Visual Studio para proyectos de JavaScript, C++ y .NET, consulta Develop Windows Store apps using Visual Studio.
[Principio]
Compilar, implementar y ejecutar el ejemplo
Compila un proyecto de aplicación de la Tienda Windows de la misma forma en que compilarías un proyecto estándar. (En la barra de menús, elige Compilar, Compilar solución). El paso de compilación compila el código y también lo empaqueta para su uso como una aplicación de la Tienda Windows.
Después de compilar el proyecto, debes implementarlo. (En la barra de menús, elige Compilar, Implementar solución). Visual Studio también implementa el proyecto cuando ejecutas la aplicación desde el depurador.
Después de implementar el proyecto, elige el icono del Optimizador de recorridos de Mapas de Bing para ejecutar la aplicación. O bien, en Visual Studio, en la barra de menús, elige Depurar, Iniciar depuración. Asegúrese de que TripOptimizerWebApp sea el proyecto de inicio.
Nota |
---|
Se requiere una clave de Mapas de Bing para ejecutar este ejemplo.Para obtener información sobre cómo obtener una clave de Mapas de Bing, consulta Getting a Bing Maps Key. |
[Principio]
Flujo de trabajo de aplicaciones
A continuación se muestra el flujo de trabajo de la aplicación.
Especifica hasta 25 ubicaciones para el recorrido. La primera entrada especifica las ubicaciones inicial y final.
Sugerencia Puedes seleccionar la opción Parks Demo o Delivery Demo para rellenar el área de ubicaciones con valores predefinidos.
Selecciona el método de desplazamiento (en automóvil o a pie), la unidad de distancia (millas o kilómetros) y el método de optimización (minimizar distancia, minimizar tiempo o evitar tráfico).
Si lo deseas, especifica las entradas para el algoritmo de optimización y si se va a utilizar el cálculo en paralelo. El cálculo en paralelo está habilitado de forma predeterminada.
Nota La sección Opciones avanzadas se incluye como herramienta de aprendizaje para los desarrolladores.Estas opciones no están pensadas para formar parte de una aplicación.
Elige Obtener direcciones para iniciar el proceso. La parte de JavaScript de la aplicación pasa las ubicaciones y las opciones al componente de Windows en tiempo de ejecución de C++. El componente de C++ realiza estos pasos:
Utiliza los servicios de Transferencia de estado de representación (REST) de Mapas de Bing para recuperar la latitud y la longitud de cada ubicación. Como parte de la respuesta, Mapas de Bing incluye todas las posibilidades que coincidan con la cadena de ubicación.
En todas las ubicaciones que tienen más de una posibilidad, muestra todas las posibilidades en la interfaz de usuario y vuelve al paso 1.
Utiliza los servicios REST de Mapas de Bing para recuperar la distancia (ya sea en automóvil o a pie) de cada ubicación a todas las demás ubicaciones. Este paso utiliza los valores de latitud y longitud que se obtuvieron en el paso a.
Calcula la ruta optimizada entre todas las ubicaciones y pasa la ruta a la parte JavaScript de la aplicación.
La parte de HTML/JavaScript muestra instrucciones de desplazamiento paso a paso y utiliza el control AJAX de Mapas de Bing para mostrar la ruta optimizada.
Puedes interactuar con el mapa. Cuando eliges un paso o una ubicación de las direcciones de desplazamiento, el control AJAX se mueve a dicho paso o ubicación y agrega un marcador al mapa.
La ilustración siguiente muestra una vista más básica del flujo de trabajo.
El componente de C++ utiliza los servicios REST de Mapas de Bing en dos fases. La primera fase ayuda al usuario a comprobar que Mapas de Bing tiene las ubicaciones correctas. Por ejemplo, si especificas “Pittsburgh”, Mapas de Bing podría devolver “Pittsburgh, PA”, Pittsburgh, ON” y “Pittsburgh, GA” como posibilidades. Cuando las ambigüedades se resuelven al principio del proceso, la segunda fase, que recupera la distancia entre cada punto y los demás puntos, puede ejecutarse sin que se encuentren ubicaciones ambiguas.
Nota |
---|
Podríamos haber realizado la comunicación con los servicios REST de Mapas de Bing en la parte de JavaScript de la aplicación.La agregamos al componente de C++ porque deseamos mostrar cómo comunicarse con una interfaz de REST y analizar la respuesta XML desde C++. |
[Principio]
Pasos siguientes
Lea Usar JavaScript en el ejemplo de Bing Maps Trip Optimizer para obtener información sobre cómo se utiliza JavaScript en la aplicación Optimizador de recorridos de Mapas de Bing.
[Principio]