2008-12-01 5 views
2

J'ai besoin d'une carte politique 2D du monde sur laquelle je dessinerai des icônes, du texte et des lignes qui bougent. Les utilisateurs vont interagir avec la carte, placer et déplacer les icônes, et ils vont zoomer dans et hors de la carte.Besoin d'une carte du monde 2D interactive côté client: le meilleur paquet de cartes? Ou le meilleur des graphismes C++/bibliothèque de toile pour en faire un?

L'interface de Google Maps n'est pas très éloignée de ce dont j'ai besoin, mais ce n'est PAS lié au web; C'est une application Windows MFC et je veux parler à une API C++ pour une carte qui vit dans l'application, pas une interface web. Idéalement, je ne veux pas non plus de serveur séparé, et tout serveur DOIT s'exécuter localement (pas sur Internet). Quel package de carte ou bibliothèque graphique doit-je utiliser pour cela? Je n'ai aucune expérience de programmation graphique.

Ceci est strictement 2D, donc je ne pense pas que quelque chose comme Google Earth ou WorldWind serait approprié. Un bon support graphique vectoriel serait cool, et le dessin facile de bitmaps est important.

Toutes les options en boîte semblent orientées web. SDL est à peu près tout ce que je sais de la programmation flexible de toile, mais il semble que faire ma propre carte serait beaucoup de travail pour ce qui est probablement un problème commun. Y a-t-il quelque chose de plus élevé? Peut-être existe-t-il un moyen d'interagir avec un objet Adobe Flash? Je suis assez désemparé.

Répondre

2

Vous pouvez étendre votre recherche en utilisant le terme SIG (Système d'information géographique). Je suis sûr que ça va être plus facile. Il y a beaucoup de choses sur ce sujet.

est ici une page que j'ai trouvé: http://www.ucancode.net/Gis-Source-Code.htm

ou: http://opensourcegis.org/

+0

Le problème est que « SIG » semble signifier l'interaction avec les données sur un serveur de tri. Tout ce que je veux, c'est une simple petite carte statique du monde à dessiner et à animer. – kingkongrevenge

1

Oui, Marble a aussi l'avantage de fournir une sorte de solution prête à l'emploi en un seul contrôle (appelé "widget" en termes techniques de Qt). La dépendance vis-à-vis de Qt (qui est la seule dépendance btw) peut également être considérée comme un avantage: la prochaine version de Qt est sous licence LGPL, donc même si vous envisagez de l'utiliser dans une application propriétaire, il ne devrait pas y avoir t être de vrais soucis. Et bien sûr, Qt et Marble sont multi-plateformes et fournissent une API très intuitive et facile à comprendre. Contrairement aux solutions SIG courantes, l'API Marble et l'utilisation du widget sont plutôt axées sur les personnes qui ne connaissent pas grand chose au SIG. Donc, son utilisation est assez facile à comprendre même si vous vous sentez effrayé par les termes techniques utilisés dans les SIG.

Marble propose plusieurs interfaces de programmation:

Vous pouvez créer vos propres plug-ins de marbre et de la peinture à l'intérieur ou ceux que vous pouvez sous-classe le contrôle MarbleWidget. Pour une simple application HelloWorld voir:

http://techbase.kde.org/Projects/Marble/MarbleCPlusPlus

Questions connexes