PDA

Ver la Versión Completa : Mapa


galustiza
20-12-2006, 13:49:15
Hola a todo el mundo!

Me gustaría insertar en mi aplicación una ventana que muestre el plano de una calle, y que permita al usuario opciones como zoom, moverlo en las cuatro direccines... es decir, una especie de Google Map de andar por casa. ¿Existe algún componente que me pueda servir o lo tendría que construir a pelo?

Gracias de antemano

Neftali [Germán.Estévez]
20-12-2006, 14:19:38
Das pocos datos.
¿Es un única imagen? ¿Debes poder ir añadiendo más mapas a medida que haces el Pan?

Tal vez te sirva el componente TSimpleGraph; Búscalo y mira si es compatible con Builder.

galustiza
20-12-2006, 14:32:12
Hola Neftali, gracias por responder

No tengo una idea predefinida de como debo hacerlo, tengo una aplicación que lo logra, pero por desgracia no tengo el código.

Lo que quiero es una ventana que muestre el plano de una calle. Que mediante algún botón o arrastrando el cursor, pueda hacer un zoom, aumentando la imagén y mostrando el plano en mayor detalle. Que mediante botones pueda mover el plano al norte, sur, este o oeste...

Resumiendo, las mismas funciones que tiene google map, mostrando un plano creado por mi en vez de un mapa.

De todas formas, probare el componente que me has recomendado. Gracias nuevamente

Neftali [Germán.Estévez]
20-12-2006, 15:28:45
Lo que quiero es una ventana que muestre el plano de una calle. Que mediante algún botón o arrastrando el cursor, pueda hacer un zoom, aumentando la imagén y mostrando el plano en mayor detalle. Que mediante botones pueda mover el plano al norte, sur, este o oeste...

El problema de eso es que no es un mapa, en el que haces zoom y te mueves en las 4 direcciones. No es tan simple. La mayorá de estos programas trabajan con rejillas en dos dimensiones; No tienes un mapa gigante, sino "trozos" de mapa que vas enganchando al inicial, segun en la dirección que te mueves. No se si me explico...

Otro problema es el Zoom; hacer un zoom sencillo de una imagen se puede hacer con el componente que te he dicho, pero si el plano debe cambiar al hacer el Zoom, entonces la rejilla en dos dimensiones de la que te he hablado antes, se convierte en una de tres dimensiones.

Para algo sencillo puedes mirar el componente y también creo recordar que aquí en los foros se ha tratado alguna vez el tema de zoom sobre imágenes (busca, creo que fue un mensaje de Seoane).

seoane
20-12-2006, 16:02:08
No tenia pensado intervenir en este hilo, porque no me manejo en Builder con mucha destreza. Pero lo que si puedo aportar son ideas. :p

Primero hablemos de la rejilla que menciono Neftali. En principio no me parece mala idea, pero puede que en tu caso no sea necesario. Ese método se suele usar cuando la imagen completa es demasiado grande (google maps, por ejemplo). Pero si el plano de la ciudad que tienes pensado utilizar es de un tamaño razonable, no veo por que no utilizar directamente la imagen completa.

Ahora podemos decidir entre 2 alternativas. Una de ellas, la que menos me gusta, es cargar la imagen completa del mapa en un TImage, y meter ese TImage dentro de un TScrollbox. Con la propiedad Streach del TImage a TRUE solo tendríamos que variar sus dimensiones, guardando la proporción, para efectuar el zoom, y el TScrollbox nos permite movernos por la imagen. Es poco elegante pero es el mas fácil de implementar, solo hay que "soltar" un par de componentes en el formulario.

Otra opción es hacerlo todo nosotros por código. Utilizaríamos un TPaintbox para dibujar el mapa y por código copiaríamos y ampliaríamos las partes del mapa que necesitásemos. Ya dije que esta era la forma difícil :cool:

Si necesitas código de todo esto, en el foro encontraras algunos fragmentos interesantes. Yo solo te puedo ofrecer código en Delphi :(