> Manuales > Taller de PHP

Cómo crear gráficos estadísticos basados en mapas del mundo con Google API Chart y PHP.

En este artículo vamos a mostrar como crear mapas, resaltando los países con colores. Para ello tendremos que utilizar un código como este:

<img src="http://chart.apis.google.com/chart?
chtm=europe
&cht=t
&chs=440x220
&chco=ffffff,edf0d4,6c9642
&chld=ES
&chd=s:9
&chf=bg,s,EAF7FE" alt="Mapa de Europa">

Los parámetros que hemos pasado a la url son los siguientes:

chtm=europe

Tipo de mapa, en este caso es el de Europa, se pueden crear otro tipo de mapas utilizando “africa”, “asia”, “europe”, “middle_east”, “south_america”, “usa” y “world”.

cht=t

Tipo de gráfico, en este caso, mapa.

chs=440x220

Tamaño del mapa, es el máximo permitido.

chco=ffffff,edf0d4,6c9642

Colores para el mapa. El primer color es el que se utiliza por defecto para los países que no pertenecen al parametro chld. El resto de los colores se utilizan para los países incluidos en el parametro chld. El color aplicado al país depende del valor chd.

chld=ES

Países que se van a colorear en el mapa. En este caso solo hemos coloreado el de España. Los códigos que se utilizan en este parámetro son códigos ISO 3166-1-alpha-2 para países, según se define en ISO3166.

chd=s:9

Color para los países especificados en el parámetro chld. En este caso hemos puesto el valor más alto, el 9 que corresponde con el color “6c9642”. Para poder poner el color “edf0d4” tendríamos que haber utlizado el valor más bajo, 0. Para cada país del parámetro chld hay que darle un valor en este parámetro. También se puede utilizar valores intermedios.

chf=bg,s,EAF7FE

Relleno del gráfico. En este caso hemos utilizado el color “EAF7FE” para las marcas de agua. “bg” indica que es el relleno del fondo y “s” que el color del relleno es sólido.

Para terminar mostramos como quedaría el mapa.

Mapa de Europa

Creación de un mapa en PHP con datos los datos de una base de datos

Ahora vamos a ver cómo se crearía un mapa del mundo, en un script programado con PHP, resaltando los países del continente Europa. Este script PHP lo hacemos extrayendo los datos necesarios de una base de datos MySQL.

//paises de Europa
$ssql_map = "select iso_alpha2 from geoname_pais where continent='EU'";
$rs_map = mysql_query($ssql_map);
if(mysql_num_rows($rs_map)!=0){
   while ($fila_map = mysql_fetch_object($rs_map)){
      //códigos de los países de Europa
      $paises.=$fila_map->iso_alpha2;
      //código para el color de cada país
      $codigos.='9';
   }
}
//Imagen del mapa
$imagen_mapa='<img border="0" src="http://chart.apis.google.com/chart?'
//Tipo de mapa del mundo
$imagen_mapa.='chtm=world';
//Tipo de grafica, mapa
$imagen_mapa.='&cht=t';
//Tamaño de la gráfica
$imagen_mapa.='&chs=440x220';
//Colores para el mapa
$imagen_mapa.='&chco=ffffff,edf0d4,6c9642';
//Paises que se van a colorear
$imagen_mapa.='&chld='.$paises.'';
//Codigos para los colores de los países
$imagen_mapa.='&chd=s:'.$codigos.'';
//Colores para el fondo
$imagen_mapa.='&chf=bg,s,EAF7FE" alt="Mapa del mundo">';

echo $imagen_mapa;

Mapa del mundo

Gema Maria Molina Prados

Equipo DesarrolloWeb.com

Manual