2011-06-22 3 views
4

Je développe actuellement une application Windows commerciale (démo gratuite, avec une fonctionnalité limitée disponible) dans .Net 4.0 en utilisant C# et WPF. Je cherche maintenant une cartothèque avec les caractéristiques suivantes:Cartes pour les applications WPF commerciales

  • carte en ligne dans le monde entier et/ou des données satellite
  • (comme Bing ou Google Maps En raison cependant OpenStreetMap ne se qualifie pas le manque de couverture.)
  • Affichage de couleur personnalisée placemarks
  • en option: Possibilité d'ajouter facilement une carte simplifiée en ligne, sur un niveau de zoom inférieur

Quelle est la solution de cartographie satisfaire à ces exigences sans violer aucune licence du fournisseur de carte?

+0

Ce sont des exigences très strictes qui ne seront probablement satisfaites que par l'achat de licences auprès de Google ou de Microsoft. – Nik

+1

Pourquoi OSM est-il exclu, cela vous donnerait-il tous gratuitement? –

+0

@Damokles: La couverture cartographique de l'OSM est très médiocre pour la plupart des régions hors d'Europe ou des États-Unis. C'est un projet fascinant cependant. –

Répondre

1

Avez-vous regardé NASA World Wind? Ils ont beaucoup d'informations sur les développeurs hébergés sur leur site Web. C'est basé sur JAVA, mais il y a des façons de contourner cela.

http://worldwind.arc.nasa.gov/java/

Et être une agence gouvernementale, je voudrais que l'image de leur imagerie est en libre-service.

ESRI website Developer Tools Product Page

+0

Oui, la source de données semble être (principalement) libre d'utilisation, mais le logiciel lui-même (World Wind) ne semble pas être disponible en tant que plugin pour d'autres applications. –

+0

Si vous pouviez expliquer pourquoi ce n'est pas un bon ajustement, cela aiderait à en trouver un meilleur ... – CodeWarrior

+0

Eh bien, selon les forums World Wind, il n'est pas possible d'héberger le logiciel World Wind dans une application WPF. Ou est-ce que je manque quelque chose? –

3

Si vous choisissez Bing, il est assez simple. Comme je l'ai dit, je ne l'ai pas fait moi-même, mais je l'ai vu sur une démo. Il devrait être quelque chose comme:

<maps:Map Name="bingmap" Mode="AerialWithLabels" CredentialsProvider="enteryourkeyhere"/> 

Où cartes est l'espace de noms: clr-namespace:Microsoft.Maps.MapControl;assembly=Microsoft.Maps.MapControl

Ensuite, dans le code-behind:

GeoCoordinate co = new GeoCoordinate((double)myLatitude, (double)myLongitude); 
bingmap.SetView(co, 18); 

Avec l'aimable autorisation va à Kevin Derudder qui a fait une belle présentation (qui est où je l'ai vu). Il s'agissait de Silverlight, mais devrait être presque le même pour WPF. Découvrez son blog post, avec un exemple de code.

0

Vous devrez peut-être passer au commercial. Si oui, regardez aussi Thinkgeo Mapsuite.

Questions connexes