Yahoo! Silverlight マップ API を使ってみた。

Yahoo の Silverlight マップの API が公開されたってことでお試しで使ってみました。
foursquare の情報を元にマーカーを立ててます。

foursquareAPIJavaScript で叩けないらしく、サーバーサイドからつくるかと思ったんですが、 Bing Map が foursquare と連携してるとかしてないとかって記憶の片隅にあったので、cliantaccesspolicy.xml があるか調べてみたらありました。

http://api.foursquare.com/clientaccesspolicy.xml

ってことで、 Silverlight から使うことで決定。

以下のようなクラスを作って JavaScript からつつけるようにしました。

using System;
using System.Net;
using System.Windows.Browser;

namespace YMapSample {

  [ScriptableType]
  public class SLHttpRequest {
    
    public SLHttpRequest(){
    }

    [ScriptableMember]
    public void DownloadString(string uri,ScriptObject callback){
      
      WebClient client = new WebClient();
      client.DownloadStringCompleted += (s,e) =>{
        if(callback != null){
          callback.InvokeSelf(e.Result);
        }
        
      };
      client.DownloadStringAsync(new Uri(uri,UriKind.RelativeOrAbsolute));
    }  
  }
}

ソースは以下に置いてます。

http://cid-fa5721a7ccbc0b18.office.live.com/self.aspx/Silverlight%20Sample/YMapSample.zip