martes, 17 de abril de 2012

API de Google Static Maps con App Inventor. Parte 1ª

Vamos a ver un ejemplo de como utilizar esta API de google para obtener imágenes planas de mapas y StreetView desde App Inventor.

Lo mejor para empezar : Google Static Maps API ya no requiere una clave de Google Maps API, lo que quiere decir que a través de una simple petición que ejecutaremos con la propiedad picture de un elemento imagen de App Inventor, obteniendo una imagen de la posición o dirección que queramos. Tal que así :

http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=14&size=512x512&maptype=roadmap
&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318
&markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284&sensor=false

Vale pero que significa todo esto. Lo vemos a continuación :





Parámetros de la URL


La URL de Google Static Maps API debe tener el siguiente formato:

http://maps.google.com/maps/api/staticmap?parameters

Si el acceso a tu sitio web se hace a través de HTTPS, las imágenes de Google Static Maps también se deben cargar a través de HTTPS para evitar alertas de seguridad del navegador. Asimismo, también se recomienda utilizar HTTPS si tus solicitudes incluyen información confidencial de usuarios, como la ubicación de un usuario:

https://maps.googleapis.com/maps/api/staticmap?parameters

Ten en cuenta que el API de Google Static Maps no admite URL con iconos personalizados que utilicen HTTPS, por lo que se mostrará el icono predeterminado.

Tanto si se utiliza HTTP como HTTPS, hay ciertos parámetros de URL que son obligatorios y otros que son opcionales. Como en las URL estándar, todos los parámetros se separan con el carácter (&). A continuación, se muestra una lista de los parámetros y sus valores posibles.

Importante: la relación de parámetros de URL que aparece a continuación utiliza ejemplos que se incluyen en formato pre-escape por razones de claridad. Antes de enviar cualquier solicitud al API, debes asegurarte de que los parámetros tengan una codificación URL adecuada. Por ejemplo, muchos parámetros utilizan una pleca (|) como separador que se debe codificar como %7C al final de la URL, como se indica en el ejemplo rápido que se incluye en la parte superior de este documento.

Google Static Maps API define imágenes de mapa mediante los siguientes parámetros de URL:

Parámetros de ubicación:
center (obligatorio si no hay presentes marcadores) define el centro del mapa, equidistante de todos los bordes. Este parámetro toma una ubicación como un par separado por comas {latitud,longitud} (por ejemplo, "40.714728,-73.998672") o como una dirección de cadena (por ejemplo "ayuntamiento, nueva york, ny") identificando una ubicación única en la superficie de la tierra.

zoom (obligatorio si no hay presentes marcadores) define el nivel de zoom del mapa, que determina su nivel de ampliación. Este parámetro toma un valor numérico correspondiente al nivel de zoom de la región deseada.

Parámetros de mapas:
size (obligatorio) define las dimensiones rectangulares de la imagen del mapa. Este parámetro adopta la forma de una cadena valuexvalue, donde los píxeles horizontales se indican en primer lugar y los verticales en segundo lugar. Por ejemplo, 500x400 define un mapa de 500 píxeles de ancho por 400 de alto. Si creas un mapa estático con un ancho de 100 píxeles o superior, se reducirá automáticamente el tamaño del logotipo "Con la tecnología de Google".

format (opcional) define el formato de la imagen resultante. De forma predeterminada, el API de Google Static Maps crea imágenes PNG. Hay varios formatos posibles disponibles, incluidos los tipos GIF, JPEG y PNG. El formato que debes utilizar dependerá de cómo desees presentar la imagen. JPEG suele proporcionar un mayor grado de compresión, mientras que GIF y PNG proporcionan mayor nivel de detalle.
maptype (opcional) define el tipo de mapa que se va a generar. Hay varios valores de tipo de mapa posibles disponibles, incluidos roadmap, satellite, hybridy terrain. 

language (opcional) define el idioma que se debe utilizar para mostrar las etiquetas de los mosaicos de mapas. Ten en cuenta que este parámetro solo es compatible con algunos mosaicos de países; si el idioma específico solicitado no es compatible con el conjunto de mosaicos, se utilizará el idioma predeterminado de dicho conjunto.

Parámetros de función:
markers (opcional) define uno o varios marcadores para adjuntarlos a la imagen en ubicaciones especificadas. Este parámetro adopta una definición de marcador única con parámetros separados por plecas (|). Se pueden colocar varios marcadores en el mismo parámetro markers cuando tienen el mismo estilo; puedes añadir marcadores adicionales de diferentes estilos mediante la adición de parámetros markers complementarios. Ten en cuenta que si suministras marcadores para un mapa, no tendrás que especificar los parámetros center ni zoom (que normalmente son obligatorios). 

path (opcional) define una única ruta de dos o más puntos conectados para superponerla en la imagen en ubicaciones especificadas. Este parámetro toma una cadena de definiciones de puntos separadas por plecas (|). Puedes proporcionar rutas adicionales si añades parámetros path complementarios. Ten en cuenta que si suministras una ruta para un mapa, no tendrás que especificar los parámetros center ni zoom (que normalmente son necesarios). 

visible (opcional) especifica una o varias ubicaciones que deben estar visibles en el mapa, aunque no se muestre ningún marcador o ningún indicador. Utiliza este parámetro para garantizar que se muestren determinadas funciones o ubicaciones de mapas en el mapa estático.

style (opcional) define un estilo personalizado para alterar la apariencia de un recurso concreto (carretera, parque, etc.) del mapa. Este parámetro utiliza los argumentos feature y element que identifican los recursos que se pueden seleccionar y un conjunto de operaciones de estilo que se debe aplicar a esa selección. Puedes proporcionar diferentes estilos si añades parámetros style complementarios. 

Notificación de parámetros:
sensor (obligatorio) especifica si la aplicación que solicita el mapa estático va a utilizar un sensor para determinar la ubicación del usuario. Este parámetro es obligatorio para todas las solicitudes de mapas estáticos.

Veamos como funciona todo esto en App Inventor en el siguiente artículo.




1 comentario:

  1. Hola, podrias indicar un ejemplo utilizando el comando PATH. No lo encuentro por ningun sitio.

    ResponderEliminar