連載
続・無償環境でSilverlight 2アプリを開発しよう!

第2回 Webサービスを利用するSilverlightアプリを作ろう

シグマコンサルティング 菅原 英治
2009/03/04
Page1 Page2 Page3

 皆さん、こんにちは。前回は、「ドラッグ&ドロップ」「アニメーション」「動画(Movie)」の3点をSilverlight 2で扱う方法について解説しました。

 連載第2回となる今回は、Webサービスを利用したSilverlight 2アプリの開発方法について解説します。Silverlight 2アプリから、Webサービスを呼び出すサンプルを示しながら、そのポイントを解説します。特にSilverlightでは、異なるドメイン間でのアクセスをいかに実現するかがポイントです。

 本稿では、その実現方法のために、Google App Engineなどのクラウド・サービスを利用するという、ちょっと変わった方法も紹介しています。

 本稿で利用するWebサービスは、次の2点です。

(1)住所から緯度経度を検索 Geocoding.jpGeocoding API
(2)ガソリン価格比較サイト gogo.gsガソリン価格情報WEBサービスapi

 Geocoding.jpを運営されているAoba氏、ガソリン価格比較サイト gogo.gsを運営されている株式会社ゴーゴーラボの小川氏の両氏には、わたしの「本稿のサンプルから、Webサービスを呼び出したい」という申し出に、快くご承諾いただきました。この場を借りお礼申し上げます。

 それではさっそく始めましょう!

【コラム】Webサービスを利用する際の注意

 インターネット上に公開されているWebサービスには、さまざまな規模のものがあります。中には、大量のアクセスに耐えられないものもあるでしょう。そのため、Webサービスを利用する際には、サービスを利用するうえでのマナーをしっかり理解し、守りたいものです。.NET紳士としては。

 Geocoding APIの注意点としては、「XML出力までに3〜5秒かかりますので、5秒間に1回以上のアクセスは避けてください。」とあります。

 ガソリン価格情報WEBサービスapiの注意点としては、「アプリケーションIDの取得」、「アプリケーションIDに1つにつき、最大10,000件/日のリクエスト」などがあります。

サンプルを動かそう

 まずは、サンプルを実際に動かしてみましょう。今回のサンプルは、入力した住所から、最寄りのガソリンスタンドの情報を取得するというアプリです。

 以下に、そのSilverlight 2アプリを表示しています(サンプルを動作させるためには、Silverlight 2プラグインのインストールが必要です)。

Webサービスを利用したSilverlight 2アプリ
住所を入力し[価格取得]ボタンをクリックしてみてください。

 サンプルでは、[住所]テキストボックスに任意の住所を入力し、[価格取得]ボタン押すことで、入力した住所から最寄りのガソリンスタンドの情報を一覧で取得できます。

 取得した一覧では、各列のヘッダ(距離、価格、ブランド)をクリックして、昇順、降順に並べ替えできます。デフォルトでは、距離が近い順に並んでいます。例えば、最安値のガソリンスタンドを探したいときは、ヘッダの[価格]をクリックすればよいわけです。

 また、各行のガソリンスタンド名のリンクをクリックすると、「ガソリン価格比較サイト gogo.gs」の「ガソリンスタンドの詳細ページ」を表示できます。さらには、[地図]リンクをクリックすると、Googleマップで、その位置を確認できます。[住所]テキストボックスには、例えば、「東京タワー」や「六本木ヒルズ」など、ランドマークの名前も入力できます。

 上のサンプルで、うまくガソリンスタンドを検索できたでしょうか。それでは、次にこのサンプルの処理の概要を説明します。


 INDEX
  連載:続・無償環境でSilverlight 2アプリを開発しよう!
  第2回 Webサービスを利用するSilverlightアプリを作ろう
  1.サンプルを動かそう
    2.サンプルの概要と画面(XAML)側コードのポイント
    3.コード・ビハインド側コードのポイント

インデックス・ページヘ  「続・無償環境でSilverlight 2アプリを開発しよう!」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

イベントカレンダー

PickUpイベント

- PR -

アクセスランキング

もっと見る

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH