Question

Il y a plusieurs mois, j'ai créé une application Winform qui organise des rendez-vous pour les techniciens de réparation. J'aimerais mettre à jour l'application en ajoutant une carte pour l'adresse du client sur le formulaire client, puis en imprimant cette carte sur le rapport que les techniciens prennent lorsqu'ils quittent le bureau.

J'ai regardé autour de moi mais je n'ai pas encore trouvé de bonne solution pour cela.

J'ai actuellement une adresse pour le client. Ce que j'aimerais faire, c'est soumettre l'adresse à l'un des sites de cartes en ligne populaires et obtenir une mini-carte des paramètres régionaux. Je peux presque faire cela avec Google Maps en utilisant leur fonctionnalité de lien intégré. Je peux obtenir le code HTML suivant après avoir ajouté une adresse sur leur site Web:

<iframe width="300" height="300" frameborder="0" scrolling="no" 
   marginheight="0" marginwidth="0" 
   src="http://maps.google.com/maps?hl=en&amp;ie=UTF8&amp;t=h&amp;g=1193+Presque+Isle+Dr,+Port+Charlotte,+FL+33952&amp;s=AARTsJqsWtjYwJ7ucpVS6UU2EInkRk6JLA&amp;ll=27.012108,-82.087955&amp;spn=0.005735,0.006437&amp;z=16&amp;output=embed">
</iframe>

Mon premier plan consistait simplement à analyser ce code HTML et à insérer l'adresse du client requise à la place de cette adresse, puis d'afficher le résultat dans un objet de navigateur sur le formulaire. Toutefois, si je modifie l'adresse dans l'iframe ci-dessus, Google me donne la mention "Votre client n'est pas autorisé à obtenir l'URL ...". message.

Je n'ai pas de préférence sur le service de carte que j'utilise au final. L'important est que la solution ne puisse pas avoir de dépenses associées et qu'elle puisse être utilisée à partir de formulaires Windows.

Quelqu'un a-t-il des idées / recommandations / ressources sur la manière de s’y attaquer?

Résultats :

J'ai fini par utiliser le contrôle trouvé ici . Je trouve cela un "OK". solution ... c'est fastidieux de travailler car le code ne fonctionne pas tel quel. Je suis assez étonné de constater qu'aucune des API de carte populaires ne prend en charge les formulaires Winforms.

Était-ce utile?

La solution

Google Maps et Live Maps ont une API publique.

Étant donné que vous travaillez sur des formes de travail, j'utiliserais probablement des cartes dynamiques.

http://dev.live.com/VirtualEarth/

Il y a quelques exemples sur CodePlex.

http://codeplex.com/Project/ProjectDirectory.aspx?TagName = Virtual% 20Earth

Autres conseils

Il existe un exemple de code pour développer un contrôle de visionneuse de carte (NB: je doute que cela soit strictement dans les limites de leur licence)

Sinon, en fonction de votre budget, vous pouvez utiliser le contrôle ActiveX MapPoint

Utilisez simplement la valeur à l'intérieur du src = """ comme emplacement d'un contrôle WebBrowser directement, sans IFRAME.

OU

Créez un document html minimal encapsulant l'IFRAME, écrivez-le dans un MemoryStream, recherchez-le au début et utilisez le MemoryStream pour définir la propriété DocumentStream du contrôle WebBrowser.

PW

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top