Mapview, contrôle affichant une liste d'item localisés par des coordonnées

Soyez le premier à donner votre avis sur cette source.

Vue 11 920 fois - Téléchargée 859 fois

Description

MapView est un contrôle qui affiche une carte du monde (Modifiable) et des items suivant leurs coordonnées géographique. Sont fonctionnement est proche d'un ListView.

Les items sont clickable et envoient des events souris au contrôle parent. Chaque Item affiche du texte et une image positionnable autour du point central. (voir les propriétés dans le Property Grid "Items")

L'exemple est fournis avec un carte du monde qui peut être changé a volonté a condition de respecter les proportions de 360° * 180° centré sur 0 / 0.

Source / Exemple :


// Test de MapView dans Form1
            this.mapView1 = new MapView.MapView();
            this.mapViewItem1 = new MapView.MapViewItem();
            this.mapViewItem2 = new MapView.MapViewItem();
            this.mapViewItem3 = new MapView.MapViewItem();
            this.mapViewItem4 = new MapView.MapViewItem();// 
            // mapView1
            // 
            this.mapView1.BackColor = System.Drawing.SystemColors.Window;
            this.mapView1.Dock = System.Windows.Forms.DockStyle.Fill;
            this.mapView1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
            this.mapView1.Image = global::TestMapView2.Properties.Resources.wdb; // ftp://ftp.ngdc.noaa.gov/GLOBE_DEM/pictures/GLOBALeb3litcolshade_ver2.jpg
            this.mapView1.Items.Add(this.mapViewItem1);
            this.mapView1.Items.Add(this.mapViewItem2);
            this.mapView1.Items.Add(this.mapViewItem3);
            this.mapView1.Items.Add(this.mapViewItem4);
            this.mapView1.Location = new System.Drawing.Point(0, 0);
            this.mapView1.Name = "mapView1";
            this.mapView1.Size = new System.Drawing.Size(515, 311);
            this.mapView1.TabIndex = 0;
            this.mapView1.Text = "mapView1";
            this.toolTip1.SetToolTip(this.mapView1, "Clicker sur une ville.");
            this.mapView1.ItemSelectionChanged += new MapView.MapViewItemSelectionChangedEventHandler(this.mapView1_ItemSelectionChanged);
            this.mapView1.ItemMouseClick += new System.Windows.Forms.MouseEventHandler(this.mapView1_ItemMouseClick);
            this.mapView1.ItemDoubleClick += new System.EventHandler(this.mapView1_ItemDoubleClick);
            this.mapView1.ItemMouseHover += new System.EventHandler(this.mapView1_ItemMouseHover);
            // 
            // mapViewItem1
            // 
            this.mapViewItem1.BackColor = System.Drawing.Color.White;
            this.mapViewItem1.ForeColor = System.Drawing.Color.Maroon;
            this.mapViewItem1.Image = global::TestMapView2.Properties.Resources.B_Matussiere_4;
            this.mapViewItem1.ImageAlign = System.Drawing.ContentAlignment.MiddleCenter;
            this.mapViewItem1.Lattitude = 44F;
            this.mapViewItem1.Longitude = 2F;
            this.mapViewItem1.Text = "Toulouse";
            this.mapViewItem1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
            // 
            // mapViewItem2
            // 
            this.mapViewItem2.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(192)))));
            this.mapViewItem2.Image = global::TestMapView2.Properties.Resources._0;
            this.mapViewItem2.ImageAlign = System.Drawing.ContentAlignment.MiddleCenter;
            this.mapViewItem2.Lattitude = 43.5F;
            this.mapViewItem2.Longitude = -1F;
            this.mapViewItem2.Text = "Bordeaux";
            this.mapViewItem2.TextAlign = System.Drawing.ContentAlignment.TopLeft;
            // 
            // mapViewItem3
            // 
            this.mapViewItem3.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(128)))), ((int)(((byte)(255)))), ((int)(((byte)(128)))));
            this.mapViewItem3.Image = global::TestMapView2.Properties.Resources._0;
            this.mapViewItem3.ImageAlign = System.Drawing.ContentAlignment.MiddleCenter;
            this.mapViewItem3.Lattitude = 43.5F;
            this.mapViewItem3.Longitude = 5F;
            this.mapViewItem3.Text = "Marseille";
            // 
            // mapViewItem4
            // 
            this.mapViewItem4.ForeColor = System.Drawing.SystemColors.ControlText;
            this.mapViewItem4.Lattitude = 50F;
            this.mapViewItem4.Longitude = 15F;

Conclusion :


Pas de bugs connus pour l'instant, mais surement des améliorations a faire.

L'mage que j'utilise est a cette adresse ftp://ftp.ngdc.noaa.gov/GLOBE_DEM/pictures/GLOBALeb3litcolshade_ver2.jpg.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

hishwest
Messages postés
6
Date d'inscription
jeudi 12 janvier 2012
Statut
Membre
Dernière intervention
12 janvier 2012
-
Salut , svp l'image wdb.jpg n'existe pas dans le dossier ; pourriez vous l'envoyer

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.