Mapa de México en XAML !!!
Posted on : 20-11-2008 | By : Rodrigo | In : Silverlight
Tags: La Liga Silverlight, Silverlight, XAML
8
Acabo de terminar la primer versión del mapa de mi querido país México en versión XAML (de hecho, creo que es el primer mapa de México con sus estados en XAML
) para todos aquellos desarrolladores y entusiastas de las tecnologías Silverlight o Windows Presentation Foundation –principalmente mexicanos- que deseen incorporarlo en sus soluciones. Este mapa puede ser punto de inicio para nuevas y emocionantes interfaces de usuario para brindar a los usuarios de nuestras aplicaciones una mejor experiencia en su uso. Incluso para aplicaciones didácticas novedosas que deseen mostrar información relacionada con cada estado de la República, o para aplicaciones que necesiten filtrar información para cada estado, etc. (Atención INEGI)
. Crearlo me llevó algunas horas de trabajo y el uso de diversas herramientas como Expression Design, Photoshop y Expression Blend.
El mapa incluye los 32 estados de la República Mexicana, cada uno implementado en un <Canvas> con el nombre de estado para poder identificarlos apropiadamente cuando deseemos programar algún tipo de comportamiento o funcionalidad en ellos.
Haz clic en la imagen para ver la versión completa
Asimismo, para aquellos desarrolladores que deseen tener un código de ejemplo de cómo podemos utilizar este mapa, aquí les dejo a continuación el código necesario para identificar por medio de un color diferente el estado que esté seleccionado (que esté obteniendo el foco por medio del cursor del mouse):
namespace Rodrigo.Maps
{
public partial class Mexico : UserControl
{
Brush original;
public Mexico()
{
InitializeComponent();
original = (Brush)this.Resources["brochaVerde"];
foreach (UIElement estado in this.mexico.Children)
{
if (estado is Canvas)
{
RegisterEvents(estado as Canvas);
}
}
//Español: También podemos hacer esto:
//English: We could do this as well:
//RegisterEvents(Aguascalientes);
//RegisterEvents(BC);
//RegisterEvents(NuevoLeon);
//...
}
/// <summary>
/// Español: Registra los manejadores de eventos para el estado especificado en el parámetro
/// English: Register the event handlers for the state specified in the parameter
/// </summary>
/// <param name="estado"></param>
void RegisterEvents(Canvas estado)
{
estado.MouseEnter += new MouseEventHandler(this.Estado_MouseEnter);
estado.MouseLeave += new MouseEventHandler(this.Estado_MouseLeave);
estado.MouseLeftButtonUp += new MouseButtonEventHandler(this.Estado_MouseButtonUp);
}
/// <summary>
/// Español: Muestra el nombre del estado en una alerta al hacer clic
/// English: Displays the state name when clicked
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void Estado_MouseButtonUp(object sender, MouseButtonEventArgs e)
{
HtmlPage.Window.Alert(((Canvas)sender).Name);
}
/// <summary>
/// Español: Cambia el color del estado que está recibiendo el foco
/// English: Changes the state color when the mouse cursor hovers
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void Estado_MouseEnter(object sender, MouseEventArgs e)
{
((Path)((Canvas)sender).Children[0]).Fill = new SolidColorBrush(Colors.Magenta);
}
/// <summary>
/// Español: Regresa el color original del estado al perder el foco
/// English: Rolls back to the original color when the mouse cursor leaves
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
void Estado_MouseLeave(object sender, MouseEventArgs e)
{
((Path)((Canvas)sender).Children[0]).Fill = original;
}
}
}
Y claro está, no olviden modificar la propiedad RootVisual de la aplicación para ejecutar correctamente Mexico.xaml:
private void Application_Startup(object sender, StartupEventArgs e)
{
this.RootVisual = new Rodrigo.Maps.Mexico();
}
El mapa de México en XAML lo pueden descargar aquí
Próximamente estaré escribiendo un artículo de cómo podemos hacer un control reutilizable para Silverlight utilizando este mapa de México hecho XAML.
Espero les sea de utilidad.
Salu2!








[...] Filed in La Liga Silverlight, Silverlight on Nov.20, 2008 Siguiendo la iniciativa que mencioné hace algunos días, mi buen amigo y colega Martín Uresti me pasó otro mapa de la República Mexicano en XAML más [...]
[...] la iniciativa que mencioné hace algunos días, mi buen amigo y colega Martín Uresti me pasó otro mapa de la República Mexicano en [...]
[...] – Parte I Filed in La Liga Silverlight, Silverlight on Dec.18, 2008 Hace algunas semanas creé el primer mapa de México en XAML. Esta iniciativa animó a unos buenos amigos a perfeccionar esta primer aproximación del [...]
[...] algunas semanas creé el primer mapa de México en XAML. Esta iniciativa animó a unos buenos amigos a perfeccionar esta primer aproximación del [...]
quisiera saber donde puedo descargar el mapa de la república mexicana en su versión XAML ya que el link que aparece ya no esta disponible y en verdad estoy muy interesada en tenerlo. Gracias y espero conmseguir una pronta respuesta.
Hola Jacki! El link está roto pero lo voy a subir nuevamente a mi sitio para que lo puedas descargar.
Disculpa me podrias pasar la liga de dodnde podria descargar el codigo.
Me gustaria ver si puedo hacer algo paracido pero para el mapa de sonora y sus municipios.
Saludos
hola necesito el codigo fuente completo incluido con el mapa es para hacer un pequeño sistema acerca del pais de mexico por favor compartan el codigo completo