Yahoo! Silverlight マップ API を使ってみた。
Yahoo の Silverlight マップの API が公開されたってことでお試しで使ってみました。
foursquare の情報を元にマーカーを立ててます。
foursquare の API は JavaScript で叩けないらしく、サーバーサイドからつくるかと思ったんですが、 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