Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Usare una mappa geografica
Forum - C# / VB.NET - Usare una mappa geografica

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
germano (Normal User)
Newbie


Messaggi: 20
Iscritto: 01/10/2014

Segnala al moderatore
Postato alle 16:00
Mercoledì, 01/10/2014
Vi chiedo se sia possibile, e come, usare una mappa geografica in un progetto Visual Basic 2013, così come si vede in qualche sito.
Vorrei usare la mappa dell' Italia per cliccare in una delle sue 20 regioni e fare aprire un relativo form. Grazie per la cortese attenzione.

PM Quote
Avatar
dnha (Member)
Pro


Messaggi: 137
Iscritto: 24/07/2014

Segnala al moderatore
Postato alle 17:16
Mercoledì, 01/10/2014
Ciao,
potresti creare un immagine con le varie regioni di colori diversi e al click del mouse determinare il colore del pixel segnato dal mouse (lo so... è molto contorto :) ).
In questo modo ricaveresti la regione corrispondente.

Potresti partire per esempio da questa (cambiando ovviamente i colori) : http://viaggi.globopix.net/cartina/cartina-muta-italia.jpg

Ci saranno metodi migliori ma questo è quello che mi è venuto in mente per primo :k:

Ultima modifica effettuata da dnha il 01/10/2014 alle 17:18
PM Quote
Avatar
germano (Normal User)
Newbie


Messaggi: 20
Iscritto: 01/10/2014

Segnala al moderatore
Postato alle 23:31
Mercoledì, 01/10/2014

Graie per l'idea. Ma come si intercetta il colore del pixel al passaggio del mouse sopra ?

PM Quote
Avatar
GN (Member)
Guru


Messaggi: 772
Iscritto: 30/04/2011

Segnala al moderatore
Postato alle 13:58
Giovedì, 02/10/2014
Se mettil'immagine in una picturebox, puoi intercettare il click con l'evento MouseDown e ottenere le coordinate dal parametro EventArgs del gestore dell'evento (http://msdn.microsoft.com/it-it/library/system.windows.for ..., e poi ottenere il colore con il metodo GetPixel (http://msdn.microsoft.com/it-it/library/system.drawing.bit ....

PM Quote
Avatar
germano (Normal User)
Newbie


Messaggi: 20
Iscritto: 01/10/2014

Segnala al moderatore
Postato alle 17:18
Giovedì, 02/10/2014

Ho sostanzialmente risolto con la proprietà mouseposition.x e mouseposition.y. Non viene perfettamente bene (le sagome delle regioni italiane sono frastagliate. Mentre, così, posso mappare solo rettangoli) ma con l'evento mousemove e mouseup e l'uso dinamico delle proprietà left e top dei form
raggiungo un risultato accettabile.
Grazie a chi mi ha risposto.

PM Quote
Avatar
dnha (Member)
Pro


Messaggi: 137
Iscritto: 24/07/2014

Segnala al moderatore
Postato alle 17:31
Giovedì, 02/10/2014
La soluzione proposta da GN è migliore :k:

PM Quote
Avatar
amreo (Normal User)
Pro


Messaggi: 93
Iscritto: 18/03/2013

Segnala al moderatore
Postato alle 14:05
Venerdì, 03/10/2014
Perchè ti sei posto il problema?
Non importa che le regioni italiane sono storte. Basta che metti lo stesso colore in paint e risolvi il problema.

PM Quote
Avatar
germano (Normal User)
Newbie


Messaggi: 20
Iscritto: 01/10/2014

Segnala al moderatore
Postato alle 15:13
Sabato, 04/10/2014

Avete ragione. Infatti avevo premesso che con mouseposition (x ed y), dato l'andamento frastagliato dei confini delle regioni, la soluzione non era perfetta. Posso chiedere a DN un esempio di codice con cui si possono ottenere le coordinate dal parametro EventArgs associato all'evento MouseDown ?

PM Quote
Avatar
germano (Normal User)
Newbie


Messaggi: 20
Iscritto: 01/10/2014

Segnala al moderatore
Postato alle 15:15
Sabato, 04/10/2014
Chiedo venia. A GN e non DN.

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo