12.2.12

Aprender Windows Phone 7 (parte 49): Windows Phone 7 Launcher – BingMapsTask

BingMapsTask te permite lanzar la aplicación Bing del teléfono Windows Phone. Se puede indicar una localización para que aparezca el mapa centrado en ese punto. Además podemos ajustar el zoom del mapa. Y buscar todos los puntos relacionados con un término que introducamos.

En la documentación aparece este ejemplo:

BingMapsTask bingMapsTask = new BingMapsTask();

//Omit the Center property to use the user's current location.
//bingMapsTask.Center = new GeoCoordinate(47.6204, -122.3493);

bingMapsTask.SearchTerm = "coffee";
bingMapsTask.ZoomLevel = 2;

bingMapsTask.Show();

En este ejemplo, tras crear el objeto BingMapsTask, omitimos la localización para que coja la posición por defecto en la que se encuentra el usuario.
Si descomentásemos la linea, se abriría el Bing apuntando a la localización que se corresponde con las coordenadas 47.6204 y –122.3493 (creo que el Space Needle Loop en Seattle).

Además mostrará enlaces en el mapa relacionados con la palabra “coffee” (cafeterías, tiendas de venta de café, etc). Por último, se fija el nivel de zoom en 2 y se lanza la aplicación Bing con estos parámetros.

Nota: si se intenta accceder a Bing desde un sitio donde no haya acceso, no se lanzará la aplicación Bing.

Tenéis más información en el siguiente enlace:

“How to use BingMapsTask”.

Nosotros vamos a crear un programa que lance Bing utilizando este Launcher.



Creando el proyecto

Abrimos Visual Studio y creamos un nuevo proyecto, para ello hay que pulsar en el menú “File” -> opción “New Project”.

En la nueva ventana he seleccionado las opciones “Visual C#” -> “Silverlight for Windows Phone” -> “Windows Phone Application”. Los demás datos son:


Name = BingMapsTaskExample
Location = (la que queráis, yo lo puse en...) C:\A_warterrain_A\Ejemplos WP7\ BingMapsTaskExample\
SolutionName = BingMapsTaskExample

A continuación se pide la versión de la aplicación. Seleccionamos Windows Phone 7.1 y damos a Ok.


Vamos a cambiar el interfaz de la página:

- Titulo “BINGMAPSTASK EXAMPLE”.
- Titulo “principal”.
- Y un Button para lanzar el BingMapsTask.

Con el siguiente formato final:


Hay que agregar las siguientes librerías:

using Microsoft.Phone.Tasks;
using System.Device.Location;

Para que encuentre la librería System.Device.Location hay que seleccionar “Agregar referencia” y agregar la librería “System.Device” al proyecto.

Cuando se pulse el botón se ejecutará el código fuente que vimos en el ejemplo:


Pues vamos a ejecutar a ver qué pasa. Pulsamos en “Debug” -> “Start debugging” arrancaremos el emulador.

Tras un momento en que se ha estado iniciando el emulador, veréis el programa en el emulador de Windows Phone 7.


Tras pulsar en el botón Lanzar Bing, se abrirá Bing y buscará contenidos referentes a la posición actual. Al no encontrar mostrará el siguiente mensaje:


A continuación aparece la pantalla pidiendo si puede acceder a la información de nuestra posición. Pulsamos en permitir.


Aparecerá la siguiente pantalla:


El emulador del teléfono no puede mostrar los mapas de Bing, así que siempre devolverá un mapa en negro indicando que la posición es desconocida.

La manera de ver que esto funciona bien es probando sobre un dispositivo físico.


Otra prueba

Si quisiesemos que se centrase la vista en un punto concreto bastaría con asignarle un valor al atributo Center.

Por ejemplo:

//Omit the Center property to use the user's current location.
bingMapsTask.Center = new GeoCoordinate(47.6204, -122.3493);

Esto centrará Bing en la ciudad de Seattle.

Os recomiendo probar a modificar el código y probarlo en vuestro dispositivo físico. Ya que si lo probáis contra el emulador seguirá mostrando posición desconocida.


Otra prueba más

Si queréis lanzar Bing pero sin buscar los lugares relacionados a una palabra basta con que no asignéis ningún valor al atributo SearchTerm (o que lo comentéis).

//bingMapsTask.SearchTerm = "coffee";

Probarlo contra el dispositivo físico para ver la diferencia.


El código fuente del ejemplo podéis descargaroslo de la siguiente dirección en nuestro repositorio de código:

Código fuente tutorial aprender Windows Phone 7 Parte 49.


Tutorial desarrollado por Grupo Libre y Extremo. Talavera de la Reina (Toledo) Spain.

No comments:

Post a Comment