En esta ocasión voy a comentar el código "iMap: an indexed map viewer", el cual puede verse completo en:
http://wiki.tcl.tk/8771
Este ejemplo, toma un mapa (archivo gif el cual debe ser previamente descargado de http://www.bioenergywiki.net/images/thumb/7/71/Uk-map.gif/300px-Uk-map.gif)
Desde luego, el archivo debe ser renombrado a UK_Map.gif para que no falle así:
Pues bien, el funcionamientos de este programa es como sigue:
* Al seleccionar algún lugar en el "combo box", la región de interés es desplazada al área visible y un cuadro rojo aparece y desaparece resaltando el punto exacto.
* Hay cuatro triángulos apuntando a los cuatro puntos cardinales a los cuales se les puede hacer click para mover la vista del mapa en esa dirección.
* Adicionalmente, si se hace click en algún punto del mapa, la ubicación x,y de dicho punto se muestra en la barra de titulo de la aplicación.
Comentando el código:
1) Marcado en amarillo, vea como se toman los datos x,y del arreglo "data", el cual fue previamente cargado con el proc "index:"
2) Subrayado en azul, se toma solo el segundo para de coordenadas de la región completa del mapa (se recomienda estudiar el comando bbox del canvas) y junto con las coordenadas del punto de interés, se mueve (xview/yview moveto) la "vista" del canvas a la región que resulte de los cálculos.
3) El efecto de "flash" del cuadro rojo, se logra con el almacenamiento del identificador único de dicho cuadro, en la variable "id" (subrayada en rojo) para que, a través de ese "id", la propiedad "width" de las lineas que lo forman,pueda ser alternada en 5 y 0, lo cual hace el efecto de desaparacer tras 300,600 y 900 milisegundos.
En la siguiente publicación, seguiré comentando otra sección de este mismo código que puede resultar de interés para el principiante.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment