Source: https://developers.google.com/maps/documentation/staticmaps/?hl=es-ES&csw=1
Timestamp: 2014-04-20 13:43:06+00:00

Document:
Guía para desarrolladores de la versión 2 del API de Google Static Maps - API de imágenes de Google Maps — Google Developers
API de imágenes de Google Maps
Google Static MapsStreet View----------Versión 3 del API de JavaScript de Google MapsAPI de Google Maps for BusinessServicios web del API de Google MapsIntroducciónAPI de rutasAPI de matriz de distanciaAPI de elevaciónAPI de codificación geográficaAPI de Google PlacesAPI de Google EarthAPI obsoletasVersión 2 del API de JavaScript de Google MapsAPI de Google Maps para FlashBúsqueda local
El API de Google Static Maps te permite insertar imágenes de Google Maps en tu sitio web sin utilizar JavaScript ni ningún sistema de carga dinámica de páginas. El servicio de Google Static Maps creará tu mapa a partir de los parámetros de URL enviados a través de una solicitud HTTP estándar y generará una imagen de mapa que podrás mostrar en tu página web.
¡Nuevo! Los límites de uso del API de Google Static Maps han cambiado. Si creas una clave de API y la incluyes en tu solicitud, podrás realizar un seguimiento del uso en la consola de las API y adquirir límites adicionales si fuera necesario.
En este documento se describe la versión 2 del API de Google Static Maps. Para actualizar las URL de la versión 1, consulta la Guía de actualización.
Cómo usar parámetros
Cómo especificar ubicaciones
Cómo indicar el uso de un sensor
Ubicaciones de marcadores
Rutas de mapas estáticos
Estilos de rutas
Cómo especificar puntos de rutas
Cómo posicionar de forma implícita mapas que usan marcadores
En el siguiente ejemplo se indica la URL de una imagen de mapa estático del centro de Nueva York, que se muestra debajo:
http://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&amp;zoom=13&amp;size=600x300&amp;maptype=roadmap
&amp;markers=color:red%7Ccolor:red%7Clabel:C%7C40.718217,-73.998284&amp;sensor=false
Ten en cuenta que no es necesario que hagas nada "especial" para que esta imagen aparezca en la página. No se necesita JavaScript. Todo lo que hemos tenido que hacer es crear una URL y colocarla dentro de una etiqueta <img>. Puedes colocar un mapa estático de Google en cualquier lugar de tu página web en el que puedas incluir una imagen.
Este documento está dirigido a creadores de páginas web y de contenido para móviles que quieran incluir imágenes del API de Google Static Maps en una página web o en aplicaciones para móviles. Ofrece una introducción sobre el uso del API y material de referencia sobre los parámetros disponibles.
El API de Google Static Maps utiliza una clave de API para identificar tu aplicación. Las claves de API se administran a través de la consola de las API de Google. Para activar el API de Google Static Maps y crear una clave, sigue estos pasos:
Accede a la página de la consola de las API (https://code.google.com/apis/console) e inicia sesión en tu cuenta de Google.
Haz clic en el enlace de servicios en el menú de la izquierda y, a continuación, activa el servicio del API de Google Static Maps.
Una vez que el servicio se haya activado, tu clave de API estará disponible en la sección de acceso del API sencillo de la página de acceso del API. Las aplicaciones del API de Google Static Maps utilizan la clave para aplicaciones del navegador.
De forma predeterminada, una clave se puede utilizar en cualquier sitio. Te recomendamos encarecidamente que restrinjas el uso de la clave a los dominios que administres. Para especificar los dominios que pueden utilizar la clave de API, haz clic en el enlace para Editar referencias permitidas... de la consola de las API.
Si incluyes una clave de API en tu solicitud, podrás realizar un seguimiento del uso en la consola de las API y adquirir límites adicionales si fuera necesario. Para especificar una clave en tu solicitud, inclúyela como valor del parámetro key.
http://maps.googleapis.com/maps/api/staticmap?center=New+York,NY&zoom=13&size=600x300&key=API_console_key
Ten en cuenta que no es obligatorio utilizar una clave, pero sí recomendable. Los ejemplos que aparecen en este documento no incluyen el parámetro key, por lo que funcionarán para todos los usuarios que copien y peguen el código.
Los clientes del API de Google Maps for Business cuentan con límites distintos a los que se indican a continuación. Una solicitud de mapa estático se considera una "visita de página" a efectos de la administración de límites del API de Google Maps for Business y se aplica al número total de visitas a la página adquiridas con la licencia del API de Google Maps for Business.
El API de Google Static Maps cuenta con los límites de uso que se indican a continuación:
25.000 solicitudes gratuitas diarias de mapas estáticos por aplicación
Las solicitudes de imágenes adicionales se pueden adquirir por aplicación y se les aplica la tarifa que se indica en las preguntas frecuentes. Los límites adicionales se adquieren a través de la consola de las API y es necesario utilizar una clave de API.
Si un usuario supera estos límites, el servidor devolverá un estado HTTP 403 y se mostrará la imagen que aparece a continuación para indicárselo:
Restricción de tamaño de la URL
Las URL de mapas estáticos tienen un tamaño limitado de 2.048 caracteres. En la práctica, probablemente no necesitarás URL de mayor tamaño que estas, a no ser que crees mapas complicados que incluyan un gran número de marcadores y de rutas. Sin embargo, ten en cuenta que los navegadores y los servicios pueden aplicar la codificación de URL a determinados caracteres antes de enviarlos al servicio de Google Static Maps, lo que producirá un aumento en el uso de caracteres. Para obtener más información sobre cómo crear una URL válida, consulta esta página.
El API de Google Static Maps devuelve una imagen (GIF, PNG o JPEG) en respuesta a una solicitud HTTP a través de una dirección URL. Para cada solicitud tendrás que especificar la ubicación del mapa, el tamaño de la imagen, el nivel de zoom, el tipo de mapa y la colocación de marcadores opcionales en lugares determinados del mapa. Además, puedes etiquetar tus marcadores con caracteres alfanuméricos.
Una imagen del API de Google Static Maps se inserta en el atributo src de la etiqueta <img> de la etiqueta (o en su equivalente en otros lenguajes de programación). Si se utiliza una imagen del API de Google Static Maps fuera de una aplicación web (por ejemplo, en un navegador), se debe incluir un enlace que dirija a la ubicación mostrada en un navegador web o en una aplicación nativa de Google Maps (los usuarios del API de Google Maps for Business no están sujetos a este requisito). Para obtener información completa y actualizada sobre este requisito, consulta la sección 10.1.1(h) de las Condiciones de servicio de Google Maps/Google Earth.
En este documento se describe el formato obligatorio de las URL del API de Google Static Maps y se indican los parámetros disponibles. También se incluyen algunas sugerencias y trucos para especificar las URL.
Las URL del API de Google Static Maps deben tener el siguiente formato:
Si el acceso a tu sitio web se hace a través de HTTPS, las imágenes de mapas estáticos 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:
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 indican los parámetros admitidos y sus posibles valores.
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 de 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.
El API de Google Static Maps define imágenes de mapas mediante los parámetros de URL que se indican a continuación.
center (obligatorio si no hay marcadores presentes): define el centro del mapa, equidistante de todos los bordes de este. 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. Para obtener más información, consulta la sección sobre ubicaciones más adelante.
zoom (obligatorio si no hay marcadores presentes): 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. Para obtener más información, consulta la sección sobre niveles de zoom más adelante.
Parámetros de mapa
size (obligatorio): define las dimensiones rectangulares de la imagen del mapa. Este parámetro adopta la forma de una cadena {horizontal_value}x{vertical_value}. Por ejemplo, 500x400 define un mapa de 500 píxeles de ancho por 400 de alto. En los mapas cuyo ancho sea inferior a 180 píxeles se mostrará un logotipo reducido de Google. Este parámetro se ve afectado por el parámetro scale, que se describe a continuación. El tamaño final de salida será el producto de los valores de escala y tamaño.
scale (opcional): afecta al número de píxeles que se muestran. scale=2: muestra el doble de píxeles que scale=1, pero mantiene la misma área de cobertura y el mismo grado de detalle (es decir, el contenido del mapa no cambia). Es de utilidad al desarrollar un mapa que se vaya a ver con una alta resolución o al crear mapas que se vayan a imprimir. El valor predeterminado es 1. Los valores aceptados son 2 y 4 (4 solo está disponible para clientes del API de Google Maps for Business). Para obtener más información, consulta los valores de escala.
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. Para obtener más información, consulta la sección sobre formatos de imagen.
maptype (opcional): define el tipo de mapa que se va a generar. Hay varios valores de tipo de mapa posibles, incluidos roadmap, satellite, hybrid y terrain. Para obtener más información, consulta la sección sobre tipos de mapas del API de Google Static Maps que aparece más adelante. 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, por lo que si el idioma específico solicitado no es compatible con el conjunto de mosaicos, se utilizará el idioma predeterminado de ese conjunto.
region (opcional): define los límites apropiados que se deben mostrar en función de determinados factores geográficos y políticos. Acepta un código de región especificado como un valor ccTLD de dos caracteres ("dominio de nivel superior").
Parámetros de recurso
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). Para obtener más información, consulta la sección sobre marcadores de mapas estáticos que aparece más adelante.
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). Para obtener más información, consulta la sección sobre rutas de mapas estáticos que aparece más adelante.
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 asegurarte de que se muestren determinados recursos o ubicaciones de mapas en el mapa estático.
style (opcional): define un estilo personalizado para alterar la presentación 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. Para obtener más información, consulta la sección Mapas con estilos que se incluye más adelante.
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. Para obtener más información, consulta la sección Cómo indicar el uso de un sensor que aparece más adelante.
Los usuarios del API de Google Maps for Business deben incluir parámetros client y signature válidos junto con sus solicitudes. Para obtener más información, consulta el capítulo Servicios web del API de Google Maps for Business.
El API de Google Static Maps es relativamente fácil de usar, ya que está formada solo por una URL con parámetros. En esta sección se explica cómo utilizar estos parámetros para construir direcciones URL.
El API de Google Static Maps debe ser capaz de identificar con precisión ubicaciones del mapa, tanto para centrar el mapa en la ubicación correcta (mediante el parámetro center) como para colocar marcas de posición opcionales (mediante el parámetro markers) en lugares del mapa. El API de Google Static Maps utiliza números (valores de latitud y longitud) o cadenas (direcciones) para especificar estas ubicaciones. Estos valores identifican una ubicación codificada de forma geográfica.
Varios parámetros (como, por ejemplo, los parámetros markers y path) toman varias ubicaciones. En estos casos, las ubicaciones están separadas por el carácter de plecas (|).
Las latitudes y longitudes se definen mediante números dentro de una cadena de texto separado con comas de seis posiciones decimales de precisión. Por ejemplo, "40.714728,-73.998672" es un valor de código geográfico válido. Los niveles de precisión superiores al sexto decimal se ignoran.
Los valores de longitud se basan en su distancia a Greenwich (Inglaterra), por donde pasa el meridiano cero. Dado que Greenwich está situado a 51.477222 grados de latitud, podemos introducir un valor center de 51.477222,0 para centrar el mapa en esta localidad:
Los valores de latitud y longitud se deben corresponder con una ubicación válida de la superficie terrestre. Las latitudes pueden tener cualquier valor entre -90 y 90, mientras que la longitud debe estar comprendida entre -180 y 180. Si especificas un valor de latitud o de longitud no válido, tu solicitud será rechazada como una solicitud incorrecta.
La mayoría de las personas no se expresan en términos de longitud y latitud, sino que utilizan direcciones para referirse a las ubicaciones. El proceso de convertir una dirección en un punto geográfico se conoce como codificación geográfica y el servicio de Google Static Maps puede realizar la codificación geográfica si le proporcionas direcciones válidas.
En todos los parámetros en los que puedas ofrecer la latitud y la longitud, puedes especificar en su lugar una cadena que indique una dirección. Google codificará de forma geográfica la dirección y proporcionará al servicio de Google Static Maps un valor de latitud/longitud para utilizarlo en la ubicación de marcadores o en la especificación de ubicaciones. La cadena debe presentar el formato de escape URL, para que direcciones como, por ejemplo, "Ayuntamiento, Nueva York, NY" se conviertan en "Ayuntamiento,Nueva+York,NY", por ejemplo.
Ten en cuenta que las direcciones pueden reflejar las ubicaciones precisas como direcciones postales, las polilíneas como rutas designadas o las áreas poligonales como ciudades, países o parques nacionales. En el caso de los resultados poligonales o polilineales, el servidor de Google Static Maps utilizará el punto central de la línea o del área como el centro de la dirección. Para obtener más información sobre cómo codificar de forma geográfica una dirección, puedes probar la dirección con esta herramienta de codificación geográfica.
El siguiente ejemplo genera un mapa estático de Berkeley (California, Estados Unidos):
http://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&amp;zoom=14&amp;size=400x400&amp;sensor=false
Si utilizas el API de Google Static Maps, deberás indicar si tu aplicación utiliza un "sensor" (por ejemplo, un localizador GPS) para determinar la ubicación del usuario. Esto resulta de especial importancia para los dispositivos móviles. Las aplicaciones deben transmitir un parámetro de sensor obligatorio que indique si la aplicación utiliza un dispositivo sensor o no.
Las aplicaciones que determinan la ubicación del usuario a través de un sensor deben transmitir sensor=true en la URL de solicitud del API de Google Static Maps. Si tu aplicación no utiliza un sensor, deberás transmitir sensor=false.
Los mapas de Google Maps tienen un número entero como "nivel de zoom" que define la resolución de la vista actual. En la vista de mapas de carretera se admiten los niveles de zoom entre 0 (el más bajo, donde todo el planeta se puede ver en un mapa) y 21+ (en el que se ven edificios individuales).
Google Maps define el nivel de zoom 0 para mostrar todo el planeta. Cada nivel sucesivo dobla la precisión tanto horizontal como vertical. Para obtener más información sobre este procedimiento, consulta la documentación del API de Google Maps.
Nota: no todos los niveles de zoom se muestran en todos los lugares de la Tierra. Estos niveles varían dependiendo de la ubicación, ya que los datos en algunas partes del planeta no son tan precisos como en otras.
Si envías una solicitud de un nivel de zoom en el que no existan mosaicos de mapa, el API de Google Static Maps devuelve una imagen en blanco.
En el siguiente ejemplo se muestran dos solicitudes de mapas de Manhattan con el mismo valor center pero con niveles de zoom de 12 y 14, respectivamente:
http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&amp;zoom=12&amp;size=400x400&amp;sensor=false
http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&amp;zoom=14&amp;size=400x400&amp;sensor=false
El parámetro size, junto con el parámetro center, define el área de cobertura de un mapa. También define el tamaño de salida del mapa en píxeles, cuando se multiplica por el valor scale (que es 1 de forma predeterminada).
En la tabla que aparece a continuación se muestran los valores máximos permitidos para el parámetro size con cada valor scale.
640x640 (devuelve 1.280x1.280 píxeles)
API de Google Maps for Business
1024x1024 (devuelve 2.048x2.048 píxeles)
512x512 (devuelve 2.048x2.048 píxeles)
En el siguiente ejemplo se solicita una "tira" de la Tierra alrededor del ecuador con un nivel de zoom de 1:
http://maps.googleapis.com/maps/api/staticmap?center=0,0&amp;zoom=1&amp;size=400x50&amp;sensor=true_or_false
En el ejemplo que aparece a continuación se solicita un mapa pequeño, con un tamaño de 100x100 píxeles, centrado en la misma región. Observa el tamaño más reducido del logotipo de Google:
El parámetro size del API de Google Static Maps define el tamaño de un mapa en píxeles, por lo que un mapa con size=200x200 se mostrará con un tamaño de 200x200 píxeles. En un monitor LCD de ordenador, que normalmente tiene 100 píxeles por pulgada, un mapa de 200x200 tendrá dos pulgadas en todas las dimensiones.
Sin embargo, cada vez hay más dispositivos móviles que disponen de pantallas de alta resolución con una densidad de píxeles superior a 300 píxeles por pulgada, que:
o bien reducen el tamaño de una imagen de 200x200 píxeles a solo 0,7 pulgadas, lo que hace que las etiquetas y los iconos sean demasiado pequeños para verlos,
o bien amplían la imagen para que se vea mejor, lo que da lugar a una imagen borrosa o pixelada.
Al desarrollar aplicaciones para dispositivos móviles, utiliza el parámetro scale del API para mostrar imágenes de mapas de alta resolución que no tengan estos problemas. El valor scale se multiplica por el valor size para determinar el tamaño de salida real de la imagen en píxeles sin cambiar el área de cobertura del mapa (el valor predeterminado de scale es 1. Los valores aceptados son 1, 2 y, solo para los clientes del API de Google Maps for Business, 4).
Por ejemplo, un valor de escala de 2 mostrará la misma área de cobertura de mapa que una solicitud en la que no se haya especificado la escala, pero con el doble de píxeles en todas las dimensiones. Aquí se incluyen las carreteras y las etiquetas para que se puedan leer con una resolución alta, en pantallas pequeñas y cuando las amplía el navegador.
Una imagen como esa también se verá bien en los navegadores de los ordenadores de escritorio, cuando se inserte en una etiqueta img o div con la altura y el ancho establecidos mediante CSS. El navegador reducirá la imagen al tamaño correcto sin disminuir su calidad.
En la tabla que aparece a continuación se muestran tres solicitudes de imágenes diferentes.
La primera corresponde a una imagen de 100x100 píxeles sin valor de escala. Se muestra correctamente en el ordenador, pero es demasiado pequeña para poder verla bien en un dispositivo móvil.
En la segunda se duplica el tamaño del mapa. En el ordenador de escritorio, el CSS se adapta al elemento img especificado de 100x100 píxeles, pero las carreteras y las etiquetas se hacen demasiado pequeñas al reducir la imagen. En el dispositivo móvil, el tamaño de la imagen es el correcto, pero en este caso tampoco se ven bien las carreteras y las etiquetas.
La tercera solicitud corresponde a un mapa de 100x100 píxeles con scale=2. La imagen se muestra con 200 píxeles de detalle. En el ordenador, se reduce perfectamente, por lo que no se distingue de la solicitud original de 100x100 píxeles, mientras que en el dispositivo móvil se puede ver correctamente gracias a la resolución adicional que muestra el API.
width="100px" en la
etiqueta img)
Sugerencia: las plataformas móviles, como iOS y Android, permiten la compatibilidad de las aplicaciones con pantallas de alta resolución mediante la especificación de imágenes independientes para cada resolución. El parámetro de escala facilita la solicitud de una imagen de mapa para pantallas de resolución estándar y del mapa apropiado para una pantalla de alta resolución, solo con establecer scale=1 y scale=2, respectivamente.
Para obtener más información sobre cómo desarrollar aplicaciones para pantallas de alta resolución y dispositivos móviles, consulta los siguientes documentos:
Cómo admitir varias pantallas (en inglés), en la Guía para desarrolladores de Android,
Sitios web de alta resolución por pulgada(en inglés), artículo en el que se incluyen las recomendaciones de Webkit.org para desarrolladores,
Cómo admitir pantallas de alta resolución (en inglés), en la biblioteca para desarrolladores de iOS.
Las imágenes se pueden devolver en varios formatos de gráficos web comunes: GIF, JPEG y PNG. El parámetro format toma uno de los siguientes valores:
png8 o png (predeterminado): especifica el formato PNG de 8 bits.
gif:especifica el formato GIF.
jpg-baseline: especifica un formato de compresión JPEG no progresivo.
jpg y jpg-baseline: suelen proporcionar el tamaño de imagen más pequeño, aunque lo hacen mediante una compresión "con pérdida", que puede dar lugar a que la imagen pierda calidad. gif, png8 y png32: proporcionan una compresión sin pérdida.
La mayoría de las imágenes JPEG son progresivas, lo que significa que cargan una imagen más general y la resolución de la imagen se va afinando a medida que llegan más datos. Esto permite que las imágenes se carguen más rápidamente en las páginas web y es el uso de los archivos JPEG más extendido actualmente. No obstante, algunos usos de JPEG (especialmente impresión) requieren imágenes no progresivas (punto de referencia). En estos casos, es posible que quieras utilizar el formato jpg-baseline, que es no progresivo.
El API de Google Static Maps crea mapas en los distintos formatos que se indican a continuación.
roadmap (predeterminado): especifica una imagen de mapa de carreteras estándar, como se muestra habitualmente en la página de Google Maps. Si no se especifica el valor maptype, el API de Google Static Maps ofrecerá mosaicos de tipo roadmap de forma predeterminada.
terrain: especifica una imagen de mapa de relieve físico, en la que aparece relieve y vegetación.
hybrid: especifica un híbrido de imagen obtenida por satélite e imagen de mapa de carreteras, en la que aparece una capa transparente de calles principales y nombres de lugares en la imagen obtenida por satélite.
Puedes ver la diferencia entre los tipos de terreno y de mapa de carreteras en el ejemplo de código que se muestra a continuación.
http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&amp;zoom=12&amp;size=400x400&amp;maptype=roadmap&amp;sensor=true_or_false
http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&amp;zoom=12&amp;size=400x400&amp;maptype=terrain&amp;sensor=true_or_false
Los mapas híbridos utilizan imágenes de satélite y recursos de mapas de carretera para crear un mapa de combinación. En los siguientes ejemplos se muestran los tipos de mapas obtenidos por satélite y los tipos de mapas híbridos:
http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&amp;zoom=12&amp;size=400x400&amp;maptype=satellite&amp;sensor=true_or_false
http://maps.googleapis.com/maps/api/staticmap?center=40.714728,-73.998672&amp;zoom=12&amp;size=400x400&amp;maptype=hybrid&amp;sensor=true_or_false
Los mapas con estilos te permiten personalizar la presentación de estilos de mapas de Google estándar, cambiando la visualización de elementos tales como carreteras, parques y áreas urbanizadas que reflejen un estilo diferente al utilizado en el tipo de mapa predeterminado. Estos componentes se denominan recursos y un mapa con estilo te permite seleccionar estos recursos y aplicar estilos a su visualización (incluso ocultarlos por completo). Estos cambios permiten resaltar en un mapa componentes concretos o contenido complementario incluido en la página.
Un mapa con "estilo" personalizado se compone de uno o más estilos especificados, cada uno de los cuales se indica a través de un parámetro style dentro de la URL de solicitud de mapas estáticos. Los estilos adicionales se especifican transmitiendo parámetros style complementarios. Un estilo consiste en una selección y en un conjunto de reglas que se debe aplicar a la selección. Las reglas indican las modificaciones visuales que se deben aplicar a la selección.
Cada declaración style se compone de los argumentos que se indican a continuación y que se separan con una pleca ("|") dentro de la declaración style:
feature (opcional): indica los recursos que se pueden seleccionar en la modificación de estilo (consulta la sección Recursos de mapas que aparece más adelante). Si no se especifica ningún argumento feature, se seleccionarán todos los recursos.
element (opcional): indica qué subconjunto de recursos seleccionados se puede utilizar (consulta la sección Elementos de mapas que se incluye más adelante). Si no se especifica ningún argumento element, se seleccionarán todos los elementos del recurso determinado.
Todos los argumentos que se incluyan detrás indicarán las reglas que se deben aplicar a los recursos seleccionados. Todas las reglas se aplican en el orden en el que aparecen en la declaración style (consulta la sección Reglas de estilo que aparece más adelante). Cualquier conjunto de reglas debe incluirse después de la selección de recursos y debe cumplir con las limitaciones de longitud de URL del API de Google Static Maps.
Nota: la declaración style debe especificar los argumentos anteriores en el orden establecido. Por ejemplo, una selección de recursos con dos reglas se mostraría como se indica a continuación:
Recursos de mapas
Un mapa se compone de un conjunto de recursos como, por ejemplo, carreteras o parques. Los tipos de recursos forman un árbol de categorías, cuya raíz es feature:all. A continuación, se indican algunos recursos habituales.
feature:all (predeterminado): selecciona todos los recursos del mapa.
feature:road: selecciona todas las carreteras del mapa.
feature:landscape: selecciona todos los paisajes de fondo de un mapa, que suele ser el área entre las carreteras, por ejemplo. En las ciudades, el paisaje suele componerse de áreas edificadas.
La lista completa de recursos que se pueden seleccionar en un mapa se incluye en el documento de referencia de la versión 3 del API de JavaScript de Google Maps.
Algunas categorías de tipos de recursos incluyen subcategorías que se especifican separadas por puntos (por ejemplo, landscape.natural o road.local). Si se especifica el recurso principal (road, por ejemplo), entonces los estilos aplicados a esta selección se aplican a todas las carreteras, incluidas las subcategorías.
Elementos de los recursos de mapa
Por otra parte, algunos de los recursos de un mapa constan de diferentes elementos. Por ejemplo, una carretera incluye, no solo la línea gráfica (geometría) que la representa sobre el mapa, sino también el texto que indica su nombre (etiquetas) en el mapa. Los elementos de los recursos se deben seleccionar mediante la declaración del argumento element. A continuación se indican los valores de argumentos de elementos admitidos.
element:all (predeterminado): selecciona todos los elementos del recurso.
element:geometry: permite seleccionar solamente los elementos geométricos del recurso correspondiente.
element:labels: selecciona solo las etiquetas de texto asociadas a un recurso concreto.
Si no se especifica ningún argumento de elemento, los estilos se aplicarán a todos los elementos del recurso independientemente del tipo de elemento.
La siguiente declaración style selecciona las etiquetas para todas las carreteras locales:
Las reglas de los modificadores de estilo son opciones de formato que se aplican a todos los recursos y elementos especificados en cada declaración style. Cada declaración style debe contener una o más operaciones separadas con una pleca ("|"). Cada operación especifica el valor de su argumento con dos puntos (":"), y todas las operaciones se aplican a la selección en el orden en que se especificaron.
A continuación, se indican los argumentos de operación y los valores utilizados que se admiten actualmente.
hue (una cadena hexadecimal RGB de formato 0xRRGGBB) indica el color básico que se debe aplicar a la selección (* consulta la nota de uso que aparece más adelante).
gamma (un valor de punto flotante entre 0.01 y 10.0, donde 1.0 no aplica correcciones) indica la cantidad de corrección gamma que se debe aplicar al elemento. Los valores de gamma modifican la luminosidad de los matices de una forma no lineal sin variar los valores de blanco o de negro. Los valores de gamma se suelen utilizar para modificar el contraste de diferentes elementos. Por ejemplo, podrías modificar el valor de gamma para incrementar o reducir el contraste entre los bordes y el interior de los elementos. Los valores bajos de gamma (< 1) incrementan el contraste, mientras que los valores elevados (> 1) disminuyen el contraste.
inverse_lightness:true invierte la luminosidad existente.
visibility (on, off o simplified) indica si un elemento aparece en el mapa y la forma en que se muestra. visibility:simplified indica que el mapa debe simplificar la presentación de los elementos para que se vean correctamente (una estructura de carretera simplificada puede mostrar menos carreteras, por ejemplo).
Las reglas de los modificadores de estilo se deben aplicar como operaciones diferentes e independientes y en el orden en que aparecen en la declaración style. El orden es importante, ya que algunas operaciones no se pueden conmutar. Los recursos y los elementos que se modifican a través de operaciones de estilo (normalmente) suelen disponer de estilos existentes, por lo que las operaciones actúan sobre dichos estilos, si existen.
Ten en cuenta que utilizamos el modelo de matiz, saturación y luminosidad (HSL) para definir el color dentro de las operaciones de los modificadores de estilo. Las operaciones de definición de color son habituales en el diseño gráfico. El matiz indica el color básico, la saturación la intensidad de ese color y la luminosidad la cantidad relativa de blanco o negro del color constituyente. Los tres valores de HSL se pueden indicar como valores RGB (y viceversa). La corrección gamma sirve para modificar la saturación en el espacio de color, normalmente para incrementar o reducir el contraste. Asimismo, el modelo HSL define el color dentro de un espacio de coordenadas, donde hue indica la orientación dentro de una rueda de color, mientras que la saturación y la luminosidad indican las amplitudes a lo largo de ejes diferentes. Los matices se miden dentro de un espacio de color RGB, que es similar a la mayoría de espacios de color RGB, a menos que no existan escalas de blancos y negros.
Nota: aunque hue utiliza un valor de color hexadecimal RGB, solo lo usa para determinar el color básico (la orientación en la rueda de color) y no para definir la saturación o la luminosidad, que se indican por separado como cambios porcentuales. Por ejemplo, el matiz del verde puro se puede definir como hue:0x00ff00 o hue:0x000100 y ambos matices serán idénticos (los dos valores corresponden al verde puro en el modelo de color HSL). Los valores hue RGB están formados por partes iguales de rojo, verde y azul, como hue:0x0000000 (negro) y hue:0xffffff (blanco) y todas las escalas puras de grises, y no indican ningún matiz, dado que ninguno de estos valores determina una orientación en el espacio de coordenadas HSL. Para especificar negro, blanco o gris, debes eliminar toda la saturación (saturation) (añade una operación saturation:-100) y determinar la luminosidad (lightness) en su lugar.
El siguiente ejemplo muestra un mapa de Brooklyn en el que el color de las carreteras locales se ha cambiado a verde brillante y el de las áreas residenciales a negro (ten en cuenta que en este ejemplo —completamente funcional— se ha utilizado una codificación de URL correcta para las plecas que sirven de separador; consulta la nota anterior).
http://maps.googleapis.com/maps/api/staticmap?sensor=false&size=512x512&amp;center=Brooklyn&zoom=12&style=feature:road.local%7Celement:geometry%7Chue:0x00ff00%7Csaturation:100&style=feature:landscape%7Celement:geometry%7Clightness:-100
En el siguiente ejemplo, más complejo, se utilizan varias operaciones y simplificaciones para obtener la apariencia aproximada de un atlas de carreteras de Estados Unidos.
http://maps.googleapis.com/maps/api/staticmap?sensor=false&size=512x512&zoom=11&amp;center=Chicago&style=feature:road.highway%7Celement:geometry%7Chue:0xff0022%7Csaturation:60%7Clightness:-20&style=feature:road.arterial%7Celement:geometry%7Chue:0x2200ff%7Clightness:-40:visibility:simplified%7Csaturation:30&style=feature:road.local%7Chue:0xf6ff00%7Csaturation:60%7Cgamma:0.7%7Cvisibility:simplified&style=feature:water%7Celement:geometry%7Csaturation:40%7Clightness:40&style=road.highway%7Celement:labels%7Cvisibility:on%7Csaturation:98&style=feature:administrative.locality%7Celement:labels%7Chue:0x0022ff%7Csaturation:50%7Clightness:-10%7Cgamma:0.9&style=feature:transit.line%7Celement:geometry%7Chue:0xff0000%7Cvisibility:on%7Clightness:-70
El parámetro markers define un conjunto de uno o varios marcadores en un conjunto de ubicaciones. Los marcadores definidos en una declaración markers única deben mostrar el mismo estilo visual; si deseas mostrar marcadores con estilos distintos, tendrás que proporcionar varios parámetros markers con información de estilo independiente.
El parámetro markers toma un conjunto de asignaciones de valores (descriptores de marcadores) con el formato markers=markerStyles|markerLocation1|
markerLocation2|..., etc.
El conjunto de estilos de marcadores (markerStyles) se establece al principio de la declaración markers y consta de cero o varios descriptores de estilo separados por plecas (|), seguido de un conjunto de una o varias ubicaciones separadas también por plecas (|). Dado que tanto la información de estilo como la información de ubicación vienen delimitadas por plecas, la información de estilo debe aparecer primero en cualquier descriptor de marcador. Una vez que el servidor de Google Static Maps detecta una ubicación en el descriptor de marcador, se asume que todos los demás parámetros son también ubicaciones.
El conjunto de descriptores de estilo de marcadores es una serie de asignaciones de valores separados por plecas (|). El descriptor de estilo define atributos visuales que se van a utilizar al mostrar los marcadores en el descriptor de marcador. A continuación se indican las asignaciones de clave/valor de los descriptores de estilo.
size: (opcional) especifica el tamaño del marcador del conjunto {tiny, mid, small}. Si no se define un parámetro size, el marcador aparecerá en su tamaño predeterminado (normal).
color: (opcional) especifica un color de 24 bits (por ejemplo, color=0xFFFFCC) o un color predefinido del conjunto {black, brown, green, purple, yellow, blue, gray, orange, red,
white}.Ten en cuenta que las transparencias (que se especifican mediante valores de color hexadecimales de 32 bits) no se pueden utilizar con los marcadores, aunque sí se admiten en las rutas.
label: (opcional) especifica un único carácter alfanumérico en mayúscula del conjunto {A-Z, 0-9} (el uso de caracteres en mayúscula es un nuevo requisito introducido en esta versión del API). Ten en cuenta que los marcadores con tamaño definido mid y predeterminado son los únicos marcadores capaces de mostrar un parámetro alphanumeric-character. Los marcadores tiny y small no son capaces de mostrar un carácter alfanumérico.
Nota: en vez de utilizar estos marcadores, es posible que desees utilizar tu propio icono personalizado (para obtener más información, consulta Iconos personalizados que aparece más adelante).
Todos los descriptores de marcadores deben incluir un conjunto de una o varias ubicaciones que definan el lugar del mapa en el que se va a ubicar el marcador. Estas ubicaciones se pueden especificar como valores de latitud/longitud o como direcciones. Estas ubicaciones están separadas por plecas (|).
Los parámetros de ubicación definen la ubicación del marcador en el mapa. Si la ubicación queda fuera del mapa, el marcador no aparecerá en la imagen generada, siempre que se hayan proporcionado los parámetros center y zoom. Sin embargo, si no se han especificado estos parámetros, el servidor de Google Static Maps generará automáticamente una imagen que incluirá los marcadores proporcionados (consulta la sección Cómo posicionar de forma implícita mapas que usan marcadores que aparece más adelante).
A continuación se muestra una declaración de marcador de muestra. Ten en cuenta que definimos un conjunto de estilos y tres ubicaciones:
http://maps.googleapis.com/maps/api/staticmap?center=Williamsburg,Brooklyn,NY&amp;zoom=13&amp;size=400x400&amp;
markers=color:blue%7Clabel:S%7C11211%7C11206%7C11222&amp;sensor=true_or_false
Para definir marcadores con estilos distintos, tenemos que proporcionar varios parámetros markers. Este conjunto de parámetros markers define tres marcadores: un marcador azul con la etiqueta "S" en las coordenadas 62.107733, -145.5419, un marcador verde pequeño en "Delta Junction, AK", y un marcador amarillo mediano con la etiqueta "C" en "Tok, AK". Estos marcadores se muestran en el ejemplo que aparece a continuación:
http://maps.googleapis.com/maps/api/staticmap?center=63.259591,-144.667969&amp;zoom=6&amp;size=400x400\
&amp;markers=size:mid%7Ccolor:0xFFFF00%7Clabel:C%7CTok,AK&amp;sensor=false" />
En vez de utilizar los iconos de marcador de Google, puedes utilizar tus propios iconos personalizados. Los iconos personalizados se especifican mediante los siguientes descriptores para el parámetro markers:
icon especifica una URL que se puede utilizar como el icono personalizado del marcador. Las imágenes pueden estar en formato PNG, JPEG o GIF, aunque el formato recomendado es PNG.
shadow (predeterminado true) indica que el servicio de Google Static Maps debería crear una sombra adecuada para la imagen. Esta sombra se basa en la región visible de la imagen y en su opacidad o transparencia.
El parámetro icon se debe especificar mediante una URL (que debe ser una URL codificada). Puedes utilizar cualquier URL válida que quieras o un servicio para acortar URL como, por ejemplo, http://bit.ly o http://tinyurl.com. La mayoría de los servicios para acortar URL tienen la ventaja de la codificación automática de URL. Los iconos tienen un límite de 4.096 píxeles (64x64 para las imágenes cuadradas), y el servicio de Google Static Maps permite hasta cinco iconos personalizados únicos por solicitud. Ten en cuenta que cada uno de estos iconos únicos se puede utilizar varias veces dentro del mapa estático.
Los iconos personalizados que tienen un descriptor shadow:true (el predeterminado) tendrán su "punto de anclaje" establecido como el centro inferior de la imagen de icono proporcionada, a partir de la que se representa la sombra. Los iconos sin sombra (que establecen un descriptor shadow:false) se consideran en su lugar como iconos centrados en sus ubicaciones especificadas, por lo que sus puntos de anclaje se establecen como el centro de la imagen.
En el siguiente ejemplo se utiliza el API de Google Chart para crear marcadores personalizados que muestren varias cafeterías de Nueva York:
http://maps.googleapis.com/maps/api/staticmap?size=480x480&amp;markers=
224+West+20th+Street+NY%7C75+9th+Ave+NY%7C700+E+9th+St+NY&amp;sensor=true_or_false
Nota: los diferentes niveles de escape anteriores pueden resultar confusos. El API de Google Chart utiliza plecas (|) para delimitar cadenas dentro de los parámetros de URL. Como este carácter no se puede utilizar legalmente dentro de una URL (consulta la nota anterior), a la hora de crear una URL de gráfico válida, se aplica el formato de escape %7C. El resultado se inserta como una cadena en una especificación icon. Sin embargo, contiene un carácter % (del formato %7C mencionado anteriormente) que no se puede incluir directamente como dato en una URL y al que se debe aplicar el formato de escape %25. Como consecuencia, la URL incluye %257C, que representa dos capas de codificación. Del mismo modo, la URL de gráfico contiene un carácter & que no se puede incluir directamente sin que se confunda con un separador de parámetros de URL de mapas estáticos, por lo que también se debe codificar.
A continuación, se indican los pasos que se deben seguir para crear una URL de mapa estático:
El parámetro path define un conjunto de una o varias ubicaciones conectadas por una ruta que se deben superponer a la imagen del mapa. El parámetro path toma un conjunto de asignaciones de valores (descriptores de ruta) con el formato path=pathStyles|pathLocation1|pathLocation2|..., etc.
Ten en cuenta que los dos puntos de ruta se separan entre sí mediante una pleca (|). Dado que la información de estilo y la información de punto están delimitadas por plecas, la información de estilo debe aparecer primero en los descriptores de ruta. Una vez que el servidor de Google Static Maps detecta una ubicación en el descriptor de ruta, se asume que todos los demás parámetros también son ubicaciones.
Estilos de ruta
El conjunto de descriptores de estilo de ruta es una serie de asignaciones de valores separadas por plecas (|). El descriptor de estilo define los atributos visuales que se van a utilizar al mostrar la ruta. A continuación se indican las asignaciones de clave/valor de los descriptores de estilo.
weight: (opcional) especifica el grosor de la ruta en píxeles. Si no se define un parámetro weight, la ruta aparecerá con el grosor predeterminado (5 píxeles).
color: (opcional) especifica un color de 24 bits (por ejemplo, color=0xFFFFCC) o un valor hexadecimal de 32 bits (por ejemplo, color=0xFFFFCCFF) o del conjunto {black,
Al especificar un valor hexadecimal de 32 bits, los dos últimos caracteres indican el valor de transparencia alfa de 8 bits. Este valor varía entre 00 (completamente transparente) y FF (completamente opaco). Ten en cuenta que las transparencias se pueden utilizar en las rutas, aunque no se admiten en los marcadores.
fillcolor: (opcional) indica que la ruta delimita un área poligonal y especifica el color de relleno que se va a utilizar como superposición en dicha área. El conjunto de ubicaciones siguientes no tiene que ser un bucle "cerrado"; el servidor de Google Static Maps unirá de forma automática el primer y el último punto. Sin embargo, ten en cuenta que cualquier trazo fuera del área de relleno no se cerrará a menos que proporciones específicamente la misma ubicación inicial y final.
A continuación, se muestran algunos ejemplos de definiciones de ruta.
Línea delgada azul, opacidad del 50%: path=color:0x0000ff|weight:1
Línea opaca roja: path=color:0xff0000ff|weight:5
Línea delgada opaca negra: path=color:0xffffffff|weight:10
Estos estilos de ruta son opcionales. Si quieres emplear los atributos predeterminados, deberás omitir la definición de los atributos de ruta; en este caso, el primer "argumento" del descriptor de ruta estará formado por el primer punto declarado (ubicación).
Para dibujar una ruta, el parámetro path también se debe transmitir a dos o más puntos. El API de Google Static Maps conectará la ruta que describen esos puntos, en el orden especificado. Cada punto de ruta (pathPoint) aparece marcado en el descriptor de ruta (pathDescriptor) separado por el carácter | (pleca).
En el siguiente ejemplo se define una ruta azul con una opacidad del 50% predeterminada de Union Square (Nueva York) a Times Square (Nueva York).
Los detalles del parámetro path aparecen a continuación:
En el siguiente ejemplo se define la misma ruta pero con una línea opaca roja y una opacidad del 100%:
En el ejemplo que se indica a continuación se muestra un área poligonal de Manhattan, con una serie de intersecciones transmitidas como ubicaciones:
Ten en cuenta que se establece la ruta para que sea invisible y el área poligonal para que tenga una opacidad del 15%.
Puedes declarar una ruta como una polilínea codificada, en lugar de como una serie de ubicaciones, utilizando el prefijo enc: en la declaración de ubicación de path. Ten en cuenta que si suministras una ruta de polilínea codificada para un mapa, no tendrás que especificar los parámetros center ni zoom (que normalmente son obligatorios).
El siguiente ejemplo muestra la ruta de la autopista de Alaska desde Dawson Creek (Columbia Británica) hasta Delta Junction (Alaska) con una polilínea codificada:
http://maps.googleapis.com/maps/api/staticmap?size=400x400&path=weight:3%7Ccolor:orange%7Cenc:polyline_data
Al igual que sucede con las rutas estándar, las rutas de polilíneas codificadas también pueden delimitar áreas poligonales si se incluye un argumento fillcolor en el parámetro path.
En el siguiente ejemplo, se muestra el área poligonal de Brooklyn (Nueva York):
http://maps.googleapis.com/maps/api/staticmap?size=400x400&path=fillcolor:0xAA000033%7Ccolor:0xFFFFFF00%7C
Las imágenes pueden especificar una ventana gráfica indicando las ubicaciones visibles mediante el parámetro visible. A través del parámetro visible, el servicio de Google Static Maps generará un mapa en el que las ubicaciones existentes sean visibles (este parámetro se puede combinar con rutas o marcadores existentes para definir también una región visible). Si se define una ventana gráfica de este modo, no será necesario especificar un nivel de zoom exacto.
En el ejemplo que aparece a continuación se muestra un mapa que se centra en Boston (Massachusetts) y que incluye MIT y Harvard Square en Cambridge (Massachusetts):
http://maps.googleapis.com/maps/api/staticmap?center=Boston,MA
&visible=77+Massachusetts+Ave,Cambridge,MA%7CHarvard+Square,Cambridge,MA&amp;size=512x512&amp;sensor=true_or_false
Por lo general, deberás especificar los parámetros de URL center y zoom para definir la ubicación y el nivel de zoom del mapa que has generado. Sin embargo, si proporcionas los parámetros markers, path o visible, puedes dejar que el API de Google Static Maps determine, de forma implícita, el centro y el nivel de zoom correctos, según una evaluación de la posición de estos elementos.
Si proporcionas dos o más elementos, el API de Google Static Maps determinará un centro y un nivel de zoom adecuados, incluyendo márgenes generosos para los elementos incluidos. En el ejemplo que se indica a continuación, se muestra San Francisco, Oakland y San José (California):
http://maps.googleapis.com/maps/api/staticmap?size=512x512&amp;maptype=roadmap\
&amp;markers=size:mid%7Ccolor:red%7CSan+Francisco,CA%7COakland,CA%7CSan+Jose,CA&amp;sensor=false
Para obtener más información sobre el uso del API de Google Static Maps y de otras API de Google Maps, consulta la página de la comunidad del API de Google Maps.

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución