2008年5月31日

 Windows Live の記事にて前にGeoRSSを取り上げました。GeoRSSで表された各経緯度にそれぞれ違ったアイコンを表示したい場合、各RSSアイテムの<description>内にアイコン画像のURLを含めて、Virtual Earthで処理するときにそのアイコン画像URLを抽出してカスタムアイコンに利用していました。少しスマートでない方法だったわけですが、Virtual Earth Map ControlにGeoRSSを処理するときに異なったアイコンを表示指定する方法がありました。

 次のようなRSSアイテムを使うことでアイコン画像を指定します。<icon>部分がそうです。ただしこの<icon>はGeoRSSの仕様でもなくて、RSSの仕様にもないですよねぇ? Virtual Earth用に勝手に作ったものかもしれません。

<item>
  <link>http://weather.livedoor.com/area/46/132.html?r=rss</link>
  <title>[ 今日の天気 ] 鹿児島 - 曇のち晴 - 最高気温28℃ - 5月31日(土)</title>
  <description>
    31日(土)の天気は曇のち晴最低気温は20℃でしょう。
  </description>
  <pubDate>Sat, 31 May 2008 05:00:00 +0900</pubDate>
  <georss:point xmlns:georss="http://www.georss.org/georss">31.52997 130.604439</georss:point>
  <icon>http://image.weather.livedoor.com/img/icon/12.gif</icon>
</item>

 ただし、これだけだと自動で<icon>部分のURLを使用してくれないので、GeoRSSの各アイテムを処理するとき次のように書きます。

// ImportShapeLayerDataメソッドで指定する関数
function onFeedLoaded(layer) {
    for (var i = 0; i < layer.GetShapeCount(); ++i) {
        var s = layer.GetShapeByIndex(i);
        s.SetCustomIcon(s.IconId);
    }
}

 記事ではWCF + VB.NETにてGeoRSSのフィードも作っていました。SyndicationItemクラスを使って<icon>を含めたRSSを出力する場合は、ElementExtensionsプロパティを使います。

' item は SyndicationItemオブジェクト
item.ElementExtensions.Add(<icon><%= "アイコンのURL" %></icon>)

 GeoRSSをVirtual Earthを使う場合、以上を使ってみてくださいね。

 

記事: 「使ってみよう! Windows Live SDK/API:第5回 Virtual Earth,VECollection and GeoRSS

参考: Creating Custom Icons for a GeoRSS Collection - MSDN Forums

posted @ 12:59 | Feedback (1)

 日経ソフトウエアは定期購読しています。会社で安く買えるので。ほとんど読んでないんですけどね。今月号が発売されて少し経ちましたが、今回は少しWindows Live色が強い(?)です。

 川西さんの「Silverlightの全貌」ではDeep Zoomの内容が。Blogでも紹介されてました。

 川西 裕幸のブログ : Silverlight の全貌 ー 拡大/縮小自在の「Deep Zoom」、アニメーション、動的言語を使う

 一度Deep Zoom Composerを使ってみようと思って使ってないままだ。

 こだかさんの「使ってびっくり! Visual Basic」ではVirtual Earthを利用したアプリケーションの記事が載っています。こっちはWebブラウザコントロールを利用したものですね。Webブラウザコントロール越しにJavaScriptのやりとりも書いてあります。

 コードのダウンロード → 日経ソフトウエア ダウンロード 2008年

posted @ 10:39 | Feedback (0)

 マイクロソフトのソフトウェアアシュアランス(SA)の特典、自宅使用プログラム(HUP)のFAQが私が何度か質問したからかどうかはわかりませんがw、公開されています。マイクロソフトと会社の契約を利用して従業員が自宅でソフトウェアを使用できるものです。そのときに契約は従業員個人とマイクロソフトの間で結ばれます。従業員が不正を行っても会社の責任とはなりません。

 私もこの特典を利用させろと勤務先で数か月にわたってわめきましたが、しょうもない理由で無理でした。会社が条件にあう方は申請してみてはどうでしょうか。

自宅使用プログラム (HUP) について よく寄せられる質問 (FAQ)

posted @ 10:20 | Feedback (206)