Mapas estáticos (imágenes bajo petición)

Servicios web

Documentación sobre la funcionalidad Mapas estáticos disponible a través del webservice HTTP-JSON/XML de la plataforma CERCALIA.

La URL base a utilizar es:

* Clave de seguridad. Es la misma KEY que para la API de mapas de Cercalia

Las peticiones HTTP se pueden enviar en GET o POST
Las respuestas son en formato JSON / XML

 

CERCALIA tiene habilitado un sistema para lanzar peticiones en formato http y recibir las respuestas en XML (o obtener la imagen directamente).

Actualmente las dimensiones máximas del mapa están fijadas en &width=1680&height=1280 (valores en píxeles).

Cómo pintar markers en el mapa

Petición:

Ejemplo de petición:

&cmd=map&ctn=girona&molist=[314323,5129642|ID|6]&img

Donde:

  • cmd=map parámetro fijo para indicar el tipo de petición (mapas estáticos)
  • width=&height= alto y ancho del mapa (en píxeles)
  • mocs=gdd&cs=gdd parámetro fijo para indicar que las coordenadas están en formato geográficas (opcional)
  • extent= Y,X superior izquierda|Y,X inferior derecha (opcional)
  • molist= puntos a pintar (markers). Formato: [Y,X|ID del marker (opcional)|tipo icono*|],[Y,X|ID del marker (opcional)|tipo icono*|], ...

* Iconos: el icono a utilizar se especifica mediante código numérico entero (1,2,3...). Estos iconos deben estar publicados en los servidores de la plataforma Cercalia.

Opcional:

  • img= devuelve la imagen directamente, en vez del XML

Respuesta

En caso de no utilizar el parámetro &img= (que fuerza a devolver la imagen directamente como respuesta), la respuesta es en formato XML, e incluye el path de donde descargar la imagen GIF correspondiente al mapa ya generado. Ejemplo:

<cercalia version="1" cmd="map">
   <proximity op="3" center=""/>
   <map style="default" smap="0" cmode="molist">
      <img width="500" center="2.1402092149562364,41.40472286871521" scale="0" href="/MapesNG/Cercalia/map/map2/1164552.gif" height="400" format="gif">
      <extent>
         <coord y="41.405615633920526" x="2.1387269947374388"/>
         <coord y="41.403830091151015" x="2.141691435175033"/>
      </extent>
      </img><label op="0" pt="2.1402092149562364,41.40472286871521"/>
      <poicats/>
      <shapes>
         <shape type="CIRCLE">
            <outline width="4" color="125,141,177,200"/>
            <fill color="0,255,0,0"/>
            <params>
               <coord y="41.40472286871521" x="2.1402092149562364"/>
               <rad>100.0</rad>
            </params>
         </shape>
      </shapes>
      <molist num="1">
         <mo id="">
            <status>1</status>
            <coord y="41.40472286871521" x="2.1402092149562364"/>
            <pixels y="200" x="250"/>
         </mo>
      </molist>
   </map>
   <server>http://c6.cercalia.com</server>
</cercalia>

Donde:

  • href="/MapesNG/Cercalia/map/map2/1164552.gif" Path de la imagen (mapa)
  • http://c6.cercalia.com Servidor donde se encuentra la imagen
  • Por lo tanto, el path completo sería:
    • http://c6.cercalia.com/MapesNG/Cercalia/map/map2/1164552.gif

Ejemplo de mapa generado:

Marker pintado en mapa

 

Cómo pintar líneas, polígonos y etiquetas

Petición:

Ejemplo de petición:

&cmd=map&width=400&height=300&labelop=0&mocs=gdd&cs=gdd&extent=41.439132726,2.003108336|41.390497829,2.197135455&shape=[255,0,0,128|2|0,255,0,128|CIRCLE|41.439132726,2.003108336|2000],[255,0,0|2|255,0,0|POLYLINE|41.401902461,2.142455003|41.404628181,2.155965665|41.433339308,2.179860852]&img=

Donde &shape= permite dibujar figuras por encima del mapa. Se puede especificar una lista de formas separadas por comas o emplear varias veces el parámetro en la petición con distintos valores. Las opciones de &shape= son:

El formato general para especificar una figura:

[color contorno | grueso | color interior | figura | parámetros específicos]

  • color contorno *: Es el color con que se pinta el contorno de la forma se especifica en formato RGBA.
  • grueso: valor entero que representa el número de píxeles de grueso que tiene el contorno.
  • color interior *: Es el color con el que se pinta el interior de la figura en formato RGBA.
  • figura: Nombre de la figura a dibujar.
  • parámetros específicos: Parámetros específicos según la figura a dibujar.

* El formato de color RGBA (rojo,verde,azul,alpha):

  • Rojo: Nivel de rojo [valor entre 0-255]
  • Verde: Nivel de verde [valor entre 0-255]
  • Azul: Nivel de azul [valor entre 0-255]
  • Alpha: Nivel de transparencia [valor entre 0 (transparente) –255 (opaco)]. Si no se especifica asume valor 255.

Ejemplo de utilización:

&cmd=map&ctn=Girona&shape=[255,0,0|3|0,255,0,128|RECTANGLE|316502,5132529|314502,5130528],[255,0,0,128|10|0,255,0,128|CIRCLE|314502,5130528|1000]

Nombres de figuras y parámetros específicos:

CIRCLE

Dibuja un círculo. Los parámetros específicos tienen el siguiente formato:

centro | radio

  • centro: es una coordenada en el sistema especificado por el parámetro MOCS.
  • radio: es una distancia expresada en metros.

RECTANGLE

Dibuja un rectángulo. Los parámetros específicos tienen el siguiente formato:

coordenada superior izquierda | coordenada inferior derecha

  • coordenada superior izquierda: es una coordenada en el sistema especificado por el parámetro MOCS.
  • coordenada inferior derecha: es una coordenada en el sistema especificado por el parámetro MOCS.

SECTOR

Dibuja un sector. Los parámetros específicos tienen el siguiente formato:

centro | radio interior | radio exterior | ángulo inicio | ángulo fin

  • centro: es una coordenada en el sistema especificado por el parámetro MOCS.
  • radio interior: Radio en metros donde empieza el sector.
  • radio externo: Radio en metros donde termina el sector.
  • ángulo inicio: Ángulo en grados en el que empieza el sector.
  • ángulo fin: Ángulo en grados en el que acaba el sector.

LINE

Dibuja una línea. En este caso no existe el color interior. Los parámetros específicos tienen el siguiente formato:

coordenada inicial | coordenada final

POLYLINE

Dibuja una poli línea. En este caso no existe el color interior. Los parámetros específicos tienen el siguiente formato:

coordenada 1 | coordenada 2 | .... | coordenada n

LABEL

Dibuja una etiqueta con un punto en el centro especificado. Los parámetros específicos tienen el siguiente formato:

centro | texto

  • centro: es una coordenada en el sistema especificado por el parámetro MOCS.
  • texto: Texto a escribir.

 

Ejemplo de mapa generado:

Liniea y circulo pintado en mapa