質問

数か月前に、修理技術者の予約をスケジュールするWinformアプリを作成しました。顧客フォームに顧客の住所の地図を追加してアプリを更新し、技術者がオフィスを離れるときに取得するレポートにその地図を印刷したいと思います。

探し回っていますが、これに対する良い解決策はまだ見つかりません。

現在、お客様の住所があります。私がやりたいのは、人気のあるオンラインマップサイトの1つに住所を送信し、ロケールのミニマップを取得することです。 Googleマップで埋め込みリンク機能を使用して、これをほぼすべて 実行できます。 Webサイトにアドレスを追加すると、次のHTMLを取得できます。

<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>

最初の計画は、このHTMLを単純に解析し、このアドレスに必要な顧客のアドレスを挿入してから、フォーム上のブラウザオブジェクトに結果を表示することでした。ただし、上記のiframeでアドレスを変更すると、「クライアントにはURLを取得する権限がありません...」メッセージ。

最終的にどのマップサービスを使用するかについての好みはありません。重要なことは、ソリューションに関連する費用を持たせず、Windowsフォームから使用できることです。

誰もこれに取り組む方法についてのアイデア/推奨事項/リソースを持っていますか?

結果

こちらで見つかったコントロールを使用することになりました。 「大丈夫」だと思う解決策...コードがそのままでは動作しないため、動作するのは退屈です。人気のあるマップAPIのいずれもwinformをサポートしていないことに非常に驚きました。

役に立ちましたか?

解決

Googleマップとライブマップの両方にパブリックAPIがあります。

winformを実行しているので、おそらくライブマップを使用します。

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

CodePlexにはいくつかの例があります。

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

他のヒント

サンプルコードマップビューアーコントロールを開発するため(NB:これは厳密に彼らのライセンス内にあるとは思わない)

それ以外の場合、予算に応じて、 MapPoint ActiveXコントロールを使用できます

src =&quot;&quot;内の値を使用するだけです。 IFRAMEを使用せずに、WebBrowserコントロールの場所として直接。

または

IFRAMEをラップする最小限のhtmlドキュメントを構築し、それをMemoryStreamに書き出し、再度検索して最初に戻し、MemoryStreamを使用してWebBrowserコントロールのDocumentStreamプロパティを設定します。

PW

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top