Cómo crear gráficos estadísticos basados en mapas del mundo con Google API Chart y PHP.
<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.
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;
Gema Maria Molina Prados
Equipo DesarrolloWeb.com