Autor Tema: Mapa Interactivo  (Leído 7763 veces)

0 Usuarios y 1 Visitante están viendo este tema.

cliv

  • Kilobyte
  • **
  • Mensajes: 69
  • Reputación: +1/-2
    • Ver Perfil
Re:Mapa Interactivo
« Respuesta #15 en: Agosto 07, 2014, 06:19:44 am »
I think a good application can be ImageMapVB from Duncan Jones  (merrioncomputing) :

http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=40141&lngWId=1&txtForceRefresh=8720144471487725

PRO:
- uses raster image for areas ...easy to design
- easy to draw polygon hotspot in HTML using free image mapper software or integrated editor
- easy to change maps on runtime (only change HTML script)
- easy to use in any vb6 program (ocx version)

AGAINST:
- color area on mouse_over not implement
- mark/un-mark area on mouse_click not implemented
- color one or many area from code not implemented

HTML script sample:
Código: [Seleccionar]
<map id="Demo1" name="MerrionComputing_ImageMap">
<area id="Yellow Square" shape="rectangle" coords="9,9,39,39">
<area id="Blue Circle" shape="circle" coords="67,64,15,15">
<area id="Green Triangle" shape="polygon" coords="10,93,35,93,23,117">
</map>
« última modificación: Agosto 07, 2014, 06:29:25 am por cliv »

Virgil Tracy

  • Kilobyte
  • **
  • Mensajes: 64
  • Reputación: +38/-1
    • Ver Perfil
Re:Mapa Interactivo
« Respuesta #16 en: Agosto 11, 2014, 09:32:04 pm »
Para dibujar las areas ocupe el ejemplo de la pagina de EDAIS QSpline Demo

http://edais.mvps.org/Files/Demo/Page3.html
http://edais.mvps.org/Files/Demo/Src/QSplineSrc.zip

dibujaba cada area por separado y luego guardaba los puntos



Usando como base la funcion drawCountries de este post http://www.codeproject.com/Articles/262179/SVG-World-Map
hice un conversor de path SVG a Area

Paso 1 configurar inkscape para que no use coordenadas relativas y forzar comandos de repeticion
Entrar al menu Archivo->Preferencias de InkScape (Mayusculas+Control+P) y luego a la opcion Salidas SVG
Esto solo tiene efecto al guardar un archivo y luego volver a abrirlo



Paso 2 Seleccionar el path svg que van a convertir, luego entrar al menu Edicion->Editor XML (Mayusculas+Control+X)



Paso 3 En el editor XML seleccionar el atributo d del path, luego seleccionar todo y copiar



Paso 4 En el conversor llenar todos los datos, donde Area es el nombre de la funcion que crea el area y del archivo .txt donde se guarda el prototipo de funcion, Nombre es el nombre de lo que representa el area, Texto es la abreviacion que se muestra en el centro del area en el mapa, y data son los datos del path svg aqui pegan los datos copiados del editor XML



Paso 5 Abrir el archivo .txt creado por el conversor, luego el contenido copiarlo al programa, despues ven como va quedando la posicion y el calce de las areas, y todo este proceso deben hacerlo por cada area que quieran agregar al mapa




Hay que considerar que no todos los mapas SVG sirven, depende mucho de como hallan sido dibujados, para probar el conversor baje varios mapas de Peru y Argentina, bastante prometedores (sin color, areas bien definidas) Con el mapa de Peru no tuve mayores problemas, salvo Lima que se resistio un poco, en cambio con el mapa de Argentina, probe primero con Jujuy y el conversor me creo una estrellas de muchas puntas, y era que el mapa habia sido dibujado usando coordenadas relativas, asi que con inkscape lo guarde como un SVG Plano y al abrirlo de nuevo, el conversor me creo areas con la forma correcta, pero quien lo dibujo no hizo los bordes de area tan precisos, asi que hay un pequeño solapamiento, pero con la herramienta editar nodos de trayecto se puede arreglar

A la clase WorldMapViewer agregue un sub llamado Transform( dx,dy,NewScale) que sirve para deplazar el mapa por los ejes xy, y tambien permite escalar el mapa, si ponen en NewScale=0.5 el mapa se reduce as 50%, en cambio si ponen 2 el mapa se agranda al doble, para mantener la escala original pongan 1

En el comprimido van los datos de los mapas de Peru y Argentina que converti

http://www.mediafire.com/download/g9ph5exg2p35x90/MapViewer.rar
« última modificación: Agosto 11, 2014, 09:39:09 pm por Virgil Tracy »

xxdoc

  • Bytes
  • *
  • Mensajes: 20
  • Reputación: +0/-0
    • Ver Perfil
Re:Mapa Interactivo
« Respuesta #17 en: Junio 01, 2016, 10:53:10 pm »
I have a problem want you help me

see picturs



hao can i do this if i want change svg , x or y ,so that my picturbox can show all image

can you tell me svg x or y ,and picturebox x or y  have some differents?

xxdoc

  • Bytes
  • *
  • Mensajes: 20
  • Reputación: +0/-0
    • Ver Perfil
Re:Mapa Interactivo
« Respuesta #18 en: Junio 01, 2016, 10:55:21 pm »
I have a problem want you help me

see picturs




hao can i do this if i want change svg , x or y ,so that my picturbox can show all image

can you tell me svg x or y ,and picturebox x or y  have some differents?

xxdoc

  • Bytes
  • *
  • Mensajes: 20
  • Reputación: +0/-0
    • Ver Perfil
Re:Mapa Interactivo
« Respuesta #19 en: Junio 01, 2016, 11:50:34 pm »
I have a problem want you help me

see picturs




hao can i do this if i want change svg , x or y ,so that my picturbox can show all image

can you tell me svg x or y ,and picturebox x or y  have some differents?

ok i have konw  why。

i have not see this function 。 “.Transform 0, 0, 1”  if change this function,may be goo d

thanks