begin process at 2012 05 28 09:05:08
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Fichier / Disque

 > 

Codage de controle en C++ pour MapPoint


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Codage de controle en C++ pour MapPoint

lundi 5 janvier 2004 à 09:31:53 | Codage de controle en C++ pour MapPoint

tanguy_laverdure


Quelqu'un aurait il deja codé des controles ou fait des developpement en C++ pour Microsoft MapPoint (c'est un logiciel de cartographie).

En fait je recherche comment interroger la BD mappoint pour trouvé toutes les villes d'un departement correspondant a certains criteres
Merci,
lundi 5 janvier 2004 à 17:24:29 | Re : Codage de controle en C++ pour MapPoint

ymca2003

Tu te sert de MapPoint en tant que contrôle ActiveX dans ton appli ou tu veut faire une Dll COM automotisant MapPoint (qui rajoute une commande dans le menu de MapPoint)
mardi 6 janvier 2004 à 08:43:15 | Re : Codage de controle en C++ pour MapPoint

tanguy_laverdure

En fait je ne sais pas trop pour le moment. Il se peux qua dans un premier temps, je rajoute une dll dans Mappoint pour automatiser la selection d'un paquet de ville en fonction de certains criteres.
Cependant le but ultime est de faire une appli de routage de vehicule dans laquelle je me servirai de Mappoint en tant que controle ActiveX.

Si tu a des infos je suis preneur
A+
mardi 6 janvier 2004 à 12:17:34 | Re : Codage de controle en C++ pour MapPoint

ymca2003

pour faire une dll automatisant MapPoint, je te conseil de la faire en Visual Basic (c'est + simple et la doc de Mappoint concerne essentiellement ce langage).

Sinon j'ai un exemple en C++ (sans utiliser les MFC ni ATL, en Win32 pur) qui pose les bases du compléments COM mais qui nécessite une bonne compréhension de l'architecture COM pour pouvoir programmer corectement (je vais essayer de le mettre prochainement).

En utilisant le contrôle activeX, l'exécution est moins rapide s'il faut faire plusieurs appel à la base de donnée MapPoint. En effet, le contrôle s'exécute dans un autre processus et il faut constammant communiquer entre les processus. Mais bon cela dépend de la quantité de données.

En faisant une dll automatisant MapPoint, elle pourra toujours servir si tu passe à une appli avec le contrôle activeX qui pourra se connecter à la dll. ton appli pourra communiquer avec la dll (en sachant qu'elle x'éxecutera dans 2 processus différents)

NB : mes développement concernent MapPoint 2002 et je ne sait pas s'il y a une autre version ultérieure qui modifie la prog.
mercredi 7 janvier 2004 à 21:57:27 | Re : Codage de controle en C++ pour MapPoint

ymca2003

j'ai ajouter un exemple de dll automatisant mappoint :

http://www.cppfrance.com/code.aspx?ID=19358
vendredi 2 avril 2004 à 16:12:35 | Re : Codage de controle en C++ pour MapPoint

gudmundur


Gudmundur
Je vois que je ne suis pas le seul à essayer de piloter mappoint. Je suis d'accord avec "ymca2003", c'est plus facile en VB. Mais j'ai malgrés tout un soucis, je ne parviens pas à récuperé les coordonnées (latitude/longitude) d'un objet situé sur la carte.
Je parviens à localiser un lieu et à y afficher, par exemple un pushpin, à partir de la latitude et longitude si je les mais dans mon code (avec la methode GetLocation de l'objet Location).
Mais je voudrais faire l'inverse; à partir d'un objet de la carte (par exemple un pushpin) donc je ne connais pas les coordonnées (latitude /longitude), je voudrais pouvoir les récupérer par une methode quelconque (comme SetLocation mais elle n'existe pas... enfin je crois)
Merci,
vendredi 2 avril 2004 à 22:30:05 | Re : Codage de controle en C++ pour MapPoint

ymca2003

il faut calculer soi-même en utilisant la fonction Distance permettant de calculer la distance entre 2 objets pushpin ou location :

(code en C++, mais marche également sous VB)

//************************************************
// LocationToLatLon : calcule la latitude et la longitude d'un objet Location.
// entrée : pLoc : object location dont on souhaite calculer les coordonnées.
// lat : variable où stocker la latitude.
// lon : variable où stocker la longitude.
//************************************************
void CCtrlManager::LocationToLatLon(MapPoint::LocationPtr pLoc, double& lat, double& lon)
{
// calcul de la distance entre le lieu spécifié et le pole nord, cette distance nous permet de calculer la latitude du point
double dist1 =pLoc->DistanceTo(m_pNorth);
lat = 90 * (1 - 2 * dist1 / (M_PI * R_TERRE));

// calcul de la distance entre le lieu spécifié et l'équateur, cette distance nous permet de calculer la longitude du point
double dist2 = pLoc->DistanceTo(m_pEquator);
double cos_alpha = cos(dist2 / R_TERRE) / cos(lat * M_PI / 180);
lon = acos(cos_alpha) * 180 / M_PI;

// calcul de la distance entre le lieu spécifié et l'est et l'ouest
double dist3 = pLoc->DistanceTo(m_pEast);
double dist4 = pLoc->DistanceTo(m_pWest);
if(dist4 < dist3)
lon = -lon;
}

avec :
m_pNorth= m_pMap->GetLocation(90, 0, 0);
m_pEquator= m_pMap->GetLocation(0, 0, 0);
m_pWest= m_pMap->GetLocation(0, -90, 0);
m_pEast= m_pMap->GetLocation(0, 90, 0);
lundi 5 avril 2004 à 08:51:14 | Re : Codage de controle en C++ pour MapPoint

gudmundur


Gudmundur ymca2003, désolé pour le délai de mes remerciements, mais merci , merci encore pour cette info.
jeudi 24 juin 2004 à 12:20:19 | Re : Codage de controle en C++ pour MapPoint

kopeltar

Salut,
je trouve ton code tres interessant, néanmoins ya 2 trucs qui m'échappent
1- R_TERRE est ce que c le rayon de la terre= 6378?
M_PI est ce que c le PI=3.14...?

2- dans ton expression
lon = acos(cos_alpha) * 180 / M_PI;

c koi comme fonction 'acos'?

en espérant un éclaircissement de ta part, car là je suis vraiment bloqué
d'avance merci,


jeudi 24 juin 2004 à 13:05:40 | Re : Codage de controle en C++ pour MapPoint

ymca2003

R_TERRE : rayon de la terre en km
M_PI : valeur de pi (3.1415926...)

acos c'est l'inverse de la fonction cosinus qu donne l'angle (en radian) à partir de la valeur du cosinus de l'angle.
le *180/M_PI permet de convertir en degré

cette formule est basé sur de la trigonométrie sphérique

1 2

Cette discussion est classée dans : controle, codage, mappoint


Répondre à ce message

Sujets en rapport avec ce message

Afficher un Bmp dans un controle [ par Xaviou ] Salut.Je cherche comment créer un contrôle graphique (du style des PictureBox de VB, pour ceux qui connaissent).J'ai besoin de gérer l'appui, le dépl Controler une ListBox avec un thread [ par header ] Apres avoir creer et appeler ma fct thread j'aimerai controler une listbox.(ou un autre controle)Comment je dois faire ???Comment attacher une variabl Explorateur de fichier(+controle) [ par attilaspirit ] 1)Si kelk'un pouvait me dire comment intégré un explorateur de fichier (komme l'explorateur de ce tres cher windose => la partie "tree")et par la savo Liste de controle [ par julok2 ] Salut à tous,je programme avec VC++6 et je cherche quelle commande me renvoie la valeur d'une case d'une CListCtrl, je connais déjà le numéro de la li Comment integrer un controle IWebBrowser2 dans un projet non MFC [ par xilebo ] j'ai pas trouvé de doc dans MSDN parlant de ca alors je viens poser ma question :Je n arrive pas a integrer le controle IWebBrowser2 dans mon projet ( Controle Winamp... [ par erasor ] Salu je suis total n00b et je voudrai savoir comment controler winamp en c++,j'ai suivi le tutorial de winamp.com mais je n'abouti a rien alors si que Controle Winamp... [ par erasor ] Salu je suis total n00b et je voudrai savoir comment controler winamp en c++,j'ai suivi le tutorial de winamp.com mais je n'abouti a rien alors si que Capture d'écran [ par joyeuxlutin ] Bonjour Sur mon application, j'ai un controle (zone de texte à plusieurs lignes). Je peux faire la sauvegarde de ce controle en fichier *.txt.Je désir Capture d'écran [ par joyeuxlutin ] Bonjour Sur mon application, j'ai un controle (zone de texte à plusieurs lignes). Je peux faire la sauvegarde de ce controle en fichier *.txt.Je désir RichEdit et controle de la souris [ par cannabis ] Voila j'en é marre j'ai tjs po trouvé kje cherche un moyen de savoir en faite kel le caractere ou la position du caractere enfin une variable qui me d


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 6,037 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales