Cómo usar mapas geográficos aplicaciones Visual Studio .
NET gratuitamente
Publicado por alonsojpd | 4-11-2015 | CSharp, Programación |
Mostramos en este tutorial cómo insertar un mapa geográfico en nuestra aplicación Visual Studio .NET.
Indicamos qué componente gratuito usar (GMap.NET), cómo instalarlo en Visual Studio .NET Community
2015 y cómo añadir este componente visual al formulario de nuestra aplicación. Explicamos también un
ejemplo de uso de GMap.NET para cambiar el tipo de mapa (Google Satélite, Google Híbrido, Open Street
Map, Open Cycle Map, etc.) y cómo cargar una polilínea (ruta o track GPS).
Videotutorial Insertar mapa geográfico en Visual Studio .NET C# gratuitamente.
Requisitos para usar mapas geográficos en aplicaciones Visual Studio .NET.
Descarga e instalación de GMap.NET en Microsoft Visual Studio .NET Community 2015.
Cómo usar GMap.NET en aplicación Visual Studio .NET C# CSharp.
Ejemplo de código para cargar fichero GPX en GMap.NET.
Cambiar de tipo de mapa en GMap.NET.
Aplicación de ejemplo usando GMap.NET con Visual Studio .NET C# en funcionamiento.
Videotutorial Insertar mapa geográfico en Visual Studio .NET C# gratuitamente
Videotutorial sobre cómo incorporar un mapa geográfico a nuestras aplicaciones desarrolladas en Visual Studio
.NET C# C Sharp. Mostramos en este videotutorial cómo añadir mapas a nuestras aplicaciones de forma
gratuita usando el componente GMap.NET. Explicamos cómo cargar un mapa y cómo instalar y referenciar el
componente en Visual Studio .NET Community:
Insertar mapa geográfico Visual Studio NET C# gratuito:
Requisitos para usar mapas geográficos en aplicaciones Visual Studio .NET
Para poder usar mapas geográficos (Google Maps, vista satélite, híbrido, Open Street Map, Open Cycle Map,
etc.) en nuestras aplicaciones .NET (tanto C# como Visual Basic .NET) necesitaremos disponer, lógicamente,
de Visual Studio .NET, en el siguiente enlace mostramos cómo descargar e instalar este IDE de desarrollo:
Instalar Microsoft Visual Studio .NET Community 2015 primera aplicación C#.
También necesitaremos un equipo con conexión a Internet para descargar el componente gratuito GMap.NET.
Descarga e instalación de GMap.NET en Microsoft Visual Studio .NET Community
2015
Accderemos a la web oficial del componente, actualmente en el enlace:
https://greatmaps.codeplex.com/releases/view/20235
Y descargaremos el fichero GMap.NET.WindowsForms.zip:
Una vez descargado lo descomprimiremos:
El fichero comprimido contiene los ficheros:
Demo.Windows.Forms.exe: aplicación de ejemplo de uso de GMap.NET.
GMap.NET.Core.dll: el componente en sí.
GMap.NET.Core.xml: fichero de configuración de la librería anterior.
GMap.NET.WindowsForms.dll: el componente visual para agregar al formulario.
GMap.NET.WindowsForms.xml: fichero de configuración de la librería del componente visual.
Abriremos ahora Visual Studio .NET Community 2015 y crearemos un nuevo proyecto, para ello accederemos
al menú «Archivo» – «Nuevo» – «Proyecto»:
Elegiremos el tipo de proyecto, en nuestro caso a la izquierda seleccionaremos «Plantillas» – «Visual C#» –
«Windows» y a la dercha seleccionaremos «Aplicación de Windows Forms». Introduciremos un nombre para
el proyecto, por ejemplo «AjpdSoftMapaCSharp» y pulsaremos «Aceptar»:
El asistente para crear un nuevo proyecto de Visual Studio .NET nos habrá creado nuestra aplicación C# con un
formulario inicial:
Tras la creación del proyecto, lo que haremos ahora será añadir las librerías de GMap.NET a nuestro proyecto y
las referencias necesarias. Para ello accederemos con el Explorador de Windows a la carpeta donde hayamos
descomprimido el fichero de GMap.NET y copiaremos todas las librearías dll de GMap.NET y los ficheros
XML de configuración:
Pegaremos los ficheros copiados en la carpeta de nuestro proyecto, concretamente en la carpeta bin/debug, en
nuestro caso en:
C:/Mis documentos/Visual Studio 2015/Projects/AjpdSoftMapaCSharp/bin/Debug
Básicamente lo que requerirá nuestra aplicación es disponer, en la misma carpeta del ejecutable, de las librerías
DLL de GMap.
Tras colocar las librerías de GMap.NET en la misma carpeta que el ejecutable de la aplicación, el siguiente
paso será añadir la referencia a GMap.NET en nuestro proyecto Visual Studio .NET. Para ello, desde Visual
Studio, con nuestro proyecto abierto, pulsaremos en el menú «Proyecto» – «Agregar referencia»:
En la ventana del Administrador de referencias pulsaremos en «Examinar»:
Navegaremos hacia la carpeta de nuestro proyecto, a la carpeta …/bin/Debug, seleccionaremos la
librería GMap.NET.Core.dll y pulsaremos «Agregar»:
Repetiremos el proceso para seleccionar la librería GMap.NET.WindowsForms.dll:
Tras seleccionar las dos librerías de GMap.NET pulsaremos en «Aceptar»:
Por último, para disponer del componente visual de GMap.NET, deberemos agregarlo a la ventana de Cuadro
de herramientas. Para ello pulsaremos con el botón derecho sobre la ventana de Cuadro de herramientas (si no
aparece podemos mostrarla desde el menú «Ver» – «Cuadro de herramientas»), en el menú emergente
seleccionaremos «Elegir elementos»:
Esperaremos a que finalice el proceso de carga:
Pulsaremos en la pestaña «Componentes de .NET Framework» y pulsaremos en «Examinar»:
Accederemos a la carpeta ../bin/Debug de nuestro proyecto y seleccionaremos la
librería GMap.NET.WindowsForms.dll que contiene el control visual GMapControl y pulsaremos «Abrir»:
Nos mostrará una advertencia de seguridad, pulsaremos «Sí»:
Con el texto:
—————————
Microsoft Visual Studio
—————————
Advertencia de seguridad: probablemente ‘C:/Users/AjpdSoft/Documents/Visual Studio
2015/Projects/AjpdSoftMapaCSharp/AjpdSoftMapaCSharp/bin/Debug/GMap.NET.WindowsForms.dll’ se
descargó de una ubicación de red y podría dañar el equipo. Cargue ensamblados solo de publicadores en los
que confíe.
¿Desea cargarlo de todos modos?
—————————
Sí No
—————————
Tras añadir «GMapControl» a los componentes de .NET Framework pulsaremos «Aceptar»:
Una vez añadido, en el Cuadro de herramientas, en el grupo «Controles comunes» tendremos
disponible GMapControl para añadirlo a nuestro formulario:
Cómo usar GMap.NET en aplicación Visual Studio .NET C# CSharp
Una vez instalado y agregrada la referencia a GMap.NET podremos usar el componente visual, para ello, desde
«Cuadro de herramientas», en «Controles comunes» pulsaremos sobre GMapControl y pulsaremos en el
formulario de la aplicación para que nos añada el componente. Una vez añadido lo estiraremos hasta dejarlo al
tamaño que deseemos, en este componente se mostrará el mapa:
Antes de continuar, en el Using de nuestro formulario, referenciaremos el espacio de nombre GMap.NET para
poder usarlo, por lo tanto, desde el código fuente de nuestro formulario, añadiremos las siguientes líneas:
using GMap.NET.MapProviders;
using GMap.NET;
Añadiremos un botón (Button) para que al pulsar se cargue el mapa en una longitud y latitud concreta, para
ello, en el evento Click del Button añadiremos el siguiente código (teniendo en cuenta que al
componente GMapControl lo hemos llamado «mapa» en su propiedad «Name»):
C#
1 private void button1_Click(object sender, EventArgs e)
2 {
3 mapa.DragButton = MouseButtons.Left;
4 mapa.CanDragMap = true;
5 mapa.MapProvider = GMapProviders.GoogleMap;
6 mapa.Position = new PointLatLng(37.983, -1.133);
7 mapa.MinZoom = 0;
8 mapa.MaxZoom = 24;
9 mapa.Zoom = 9;
10 mapa.AutoScroll = true;
11 }
El código anterior cargará el mapa de Google Maps, podremos cargar otros mapas como:
Google Maps Satélite.
Google Maps Callejero.
Google Maps Híbrido.
OpenStreetMap.
OpenClycleMap.
Ejemplo de código para cargar fichero GPX en GMap.NET
GPX es un formato de dntercambio de datos GPS, es un esquema XML pensado para transferir datos GPS entre
aplicaciones. Se puede usar para describir puntos (waypoints), recorridos (tracks), y rutas (routes). A
continuación mostramos un código fuente en C# que nos permitirá dotar a nuestras aplicaciones en Visual
Studio .NET C Sharp de la opción de cargar un fichero GPX y mostrar la ruta realizada en el mapa. Para el
siguiente código necesitaremos un componente de tipo System.Windows.Forms.OpenFileDialog que
agregaremos a nuestro formulario desde el Cuadro de herramientas, llamaremos a este componente «dlg»:
Añadiremos lógicamente un Button para que al pulsarlo el usuario le muestre la ventana de selección de
documento GPX y una vez seleccionado lo cargue en el mapa. Por lo tanto el código para el evento «Click» del
Button será:
C#
1 private void btCargarGPX_Click(object sender, EventArgs e)
2 {
3 dlg.CheckPathExists = true;
4 dlg.CheckFileExists = false;
5 dlg.AddExtension = true;
6 dlg.DefaultExt = "gpx";
7 dlg.ValidateNames = true;
8 dlg.Title = "Cargar archivo GPX";
9 dlg.Filter = "Archivos GPX (*.gpx)|*.gpx";
10 dlg.FilterIndex = 1;
11 dlg.RestoreDirectory = true;
12
13 if(dlg.ShowDialog() == DialogResult.OK)
14 {
15 try
16 {
17 string gpx = File.ReadAllText(dlg.FileName);
18
19 gpxType r = mapa.Manager.DeserializeGPX(gpx);
20 if(r != null)
21 {
22 if(r.trk.Length > 0)
23 {
24 foreach(var trk in r.trk)
25 {
26 List points = new List();
27
28 foreach(var seg in trk.trkseg)
29 {
30 foreach(var p in seg.trkpt)
31 {
32 points.Add(new PointLatLng((double) p.lat,
33 (double) p.lon));
34 }
35 }
36
37 GMapRoute rt = new GMapRoute(points, string.Empty);
38 {
39 rt.Stroke = new Pen(Color.FromArgb(144, Color.Red));
40 rt.Stroke.Width = 5;
41 rt.Stroke.DashStyle =
42 System.Drawing.Drawing2D.DashStyle.Solid;
43 }
44 routes.Routes.Add(rt);
45 routes.IsVisibile = true;
46
47 }
48 mapa.Overlays.Add(routes);
49 mapa.ZoomAndCenterRoutes(null);
50 }
51 }
52 }
53 catch(Exception ex)
54 {
55 MessageBox.Show("Error al importar GPX: " +
56 ex.Message, "Error importando GPX",
57 MessageBoxButtons.OK, MessageBoxIcon.Warning);
58 }
59 }
60 }
Cambiar de tipo de mapa en GMap.NET
Otra opción que podemos implementar en nuestra aplicación .NET con mapa es la de cambiar el tipo de mapa
(satélite, híbrido, callejero, etc.). Para ello añadiremos al formulario un desplegable
(System.Windows.Forms.ComboBox). Llamaremos al desplegable «lsMapas» y en su propiedad «Items»
añadiremos:
Google Maps Satélite
Google Maps Callejero
Google Maps Híbrido
OpenStreetMap
OpenClycleMap
De forma que el usuario pueda elegir el tipo de mapa a mostrar. Añadiremos un botón (Button) para mostrar el
mapa y en el evento «Click» introduciremos el siguiente código:
C#
1 private void btRecargarMapa_Click(object sender, EventArgs e)
2 {
3 if (lsMapas.Text =="Google Maps Satélite")
4 mapa.MapProvider = GMapProviders.GoogleSatelliteMap;
5 if (lsMapas.Text == "Google Maps Callejero")
6 mapa.MapProvider = GMapProviders.GoogleMap;
7 if (lsMapas.Text == "Google Maps Híbrido")
8 mapa.MapProvider = GMapProviders.GoogleHybridMap;
9 if (lsMapas.Text == "OpenStreetMap")
10 mapa.MapProvider = GMapProviders.OpenStreetMap;
11 if (lsMapas.Text == "OpenClycleMap")
12 mapa.MapProvider = GMapProviders.OpenCycleMap;
13
14 mapa.Refresh();
15 }
Aplicación de ejemplo usando GMap.NET con Visual Studio .NET C# en
funcionamiento
A continuación mostramos una aplicación desarrollada en C Sharp .NET en funcionamiento que usa el
componente GMap.NET para mostrar mapas geográficos y rutas en el mapa:
Vista en modo satélite del mapa: