Upgrade to Pro — share decks privately, control downloads, hide ads and more …

20110212 Silverlight から Bing Maps に触れる

Kenji Wada
February 12, 2011

20110212 Silverlight から Bing Maps に触れる

2011年2月12日開催の「Google and Bing Maps Hackthon in Japan」の勉強会にてOn BrowserとWindows Phone 7からBing Mapsはどのように操作出来るかについて、お話をさせて頂きました。

Kenji Wada

February 12, 2011
Tweet

More Decks by Kenji Wada

Other Decks in Technology

Transcript

  1.  時計Viewer for WM  某美人時計とそのクローンのViewer  Pixiq for WM

     Pixiv Viewer。フリック対応の2を出す予定だったが、 WP7の登場と共に熱意が……  Library Guide for iPhone  図書館の蔵書と貸出状況が調べられるアプリ MA6で楽天賞を頂きました 今までに作ったアプリとか
  2.  Silverlightとは  使うだけなら No programing でOK  簡単な操作は JavaScript

    と組み合わせ  複雑な操作は C#、VB.NET etc で Silverlight (On Browser)編
  3.  Windows Phone 7とは  VS2010で Bing Maps をぽとぺた 

    WP7版のBing Maps Controlの機能  実機で Bing Maps をみてみましょう  Bing Maps Controlとの連携  おまけ Windows Phone編
  4.  Web Browser Plugin  数秒でインストール完了!  クロスプラットフォームで、 OSやブラウザなど実行環境に依存しない 

    対応OS:Windows 、 Mac、Linux  対応ブラウザ:IE、Firefox、Safari、Chrome Silverlight とは
  5. HTML5との違い Browser Technology Web Desktop Mobile Out of Browser ・COM

    Automation ・Web Browser ・P/Invoke Streaming, Live Streaming Media Printing Web Camera Mic Controls Business
  6.  今年の春には、 Silverlight5がリリース  Windows Phone 7もSilverlightを採用  アウトオブブラウザ(ブラウザ外実行)で、COM AutomationやP/Invokeに対応

     マイクロソフト的に、今後の主力をSilverlightとし て、ブラウザだけでなくデスクトップやモバイル での展開を想定している ・・・のかも? マイクロソフトの本気
  7.  No programing  地図の表示はプログラミング丌要  With JavaScript  簡単な操作は

    JavaScript で可能  Silverlight programing  地図アプリケーションの作成  C#, Visual Basic, etc… Silverlight Control
  8.  <ifram>  Demo No Programing <iframe width="512" height="512" frameborder="0"

    scrolling="no" marginheight="0" marginwidth="0" src="http://dev.virtualearth.net/embeddedMap/v1/silverl ight/road?zoomLevel=15&center=35.1813139560218_1 36.9064892&pushpins=35.1813139560218_136.9064892 " />
  9.  <object> With JavaScript(1/2) <object id="control" data="data:application/x-silverlight" type="application/x-silverlight-2" width="512" height="512">

    <param name="source" value="http://dev.virtualearth.net/silverlight/mapcontrol/v1/Micr osoft.Maps.MapControl.xap" /> <param name="enableHtmlAccess" value="true" /> <param name="initParams" value="ApplicationId=BingMapKey"/> </object>
  10.  JavaScript  Demo With JavaScript(2/2) var control = document.getElementById("control");

    var map = control.Content.map; var mode = control.Content.services.createObject("Microsoft.Ma ps.MapControl.AerialMode"); map.Mode = mode;
  11.  for End-User  User Experience  for Developer 

    .NET Languages  豊富な Class Libraries Silverlight Control の特徴
  12.  Visual Studio 2010 Professional  Expression Studio Ultimate 4.0(Option)

     ¥123,400 + ¥63,093 = ¥186,493  Silverlight 4 Tools for Visual Studio 2010 ※DreamSpark(学生)、BizSpark(ベンチャー)なら無償でOK 開発環境 (1/2) 有料プラン 参考価格
  13.  Visual Web Developer 2010 Expression  Silverlight 4 Tools

    for Visual Studio 2010 ※有料プランとの違いは、VSSとの統合、バグトラッキング、 ビルドの自動化が出来ない(Professional)、 コードカバレッジ、コード分析、UIテストが使えない(Premium) 開発環境 (2/2) 無料プラン
  14.  Pushpin の追加  Polygon and Polyline の追加  Silverlight

    Control の追加  まとめてデモをご覧ください エンティティを追加
  15.  地図のプラットフォームとして使用可能で、 ゼロからオリジナルの地図を作ることが可能  MapMode  FlatMapMode平面で表現  MercatorMode: 円筒で表現

     RoadMode(道路表示)、 AerialMode (航空写真表示)  3Dの概念も用意(MapMode3D)  Pitch, Heading Map Platform としての Map Control
  16.  Streetsideは、Google MapsのStreet View  Bird’s eyeは、鳥観  Demo 

    Extented Mode Betaが更新されておらず、今 のところSilverlight 4では使えない Streetside and Bird’s eye
  17.  開発ツールは無償で提供されている  Expression Blend for Windows Phone(デザイン)  Visual

    Studio 2010 Express for Windows Phone(コード)  アプリケーションの開発は、全て『無料』で xap(WP7での実行形式)まで作れます  ただし、実機転送とアプリ公開は、 AppHubメンバーにしかできず『有料』 開発環境
  18. Visual Studio 2010 Express Edition for Windows Phone  プログラマ向けの開発

    ツールの王道  WP7向け専用のエディ ション
  19. Microsoft Expression Blend for Windows Phone  デザイナ向けのツール  Expreesionシリーズで唯一

    無料で使える(?)  開発環境(VS)がなくても、デ バイスへのデプロイが可能  複雑なXAMLもStoryBoardで 簡単に
  20.  iOS Developer Programのようなもの  WP7、Xbox 360での実機デバッグ Marketplaceへのアプリリリースが可能  会費は、99$

    USドル/年  学生は無償でメンバーシップになれます 詳しくは、DreamSpark Programを AppHub メンバーシップ
  21.  GeoCoordinateWatcher watcher; // GeoCoordinateWatcherの初期化を行う watcher = new GeoCoordinateWatcher (

    GeoPositionAccuracy.High ); // 位置変更イベントのイベントハンドラを追加 // watcher_PositionChanged watcher.PositionChanged += 省略 // データの取得を開始する watcher.Start(); 位置情報を取得する
  22.  // 位置情報を取得する GeoCoordinate co = watcher.Position.Location; // プッシュピンを作る var

    pin = new Pushpin() { Location = co }; map1.Children.Add(pin); // 位置測位を終了 watcher.Stop(); 位置情報をもとにピンを刺す
  23.  Microsoft.Phone.Tasks名前空間に各タ スクは扱い方がほぼ一緒で使いやすい  var task = new PhotoChooserTask(); //

    タスクが完了すると、イベントハンドラが呼び出される task.Completed += (sx, ex) => {省略} task.Show(); PhotoChooserTask
  24.  // 取得できていれば、Imageに設定 var bmp = new BitmapImage(); bmp.SetSource(ex.ChosenPhoto); //

    Imageの表示時の設定 var image = new Image() { Source = bmp }; var imageLayer = new MapLayer(); var position = PositionOrigin.BottomLeft; // 画像レイヤーにUIElement(Image)を追加 imageLayer.AddChild(image, map1.Center, position); // 地図に画像レイヤーを追加します map1.Children.Add(imageLayer); アルバムの中から写真の 選択結果を受け取る
  25.  Google and Bing Maps Hackathonなので、 2つのそれぞれ良いところを頂きます!  WP7にはGoogle Mapのコントロールが無い

     だったら、ベースにはBing Maps Control  Bing Map for WP7の地図はとても残念  だったら、Google Mapの地図を使おう Google Map on Bing Map Control
  26. タイルの単位は 256 x 256  Google Mapsのタイルの大きさは、  256 x

    256  Bing Mapsのタイルの大きさも、  256 x 256  あとは、お察しの通り。。。
  27.  Microsoft.Phone.Controls.Maps名前空間の TileSourceクラスの以下のメソッド  Uri GetUri(int x, int y, int

    zoomLevel)  Google MapsのタイルURLは以下の通り  http://mt{server}.google.com/vt/lyrs={ty pe}&x={x値}&y={y値}&z={zoom-level} URLはGetUriメソッドで作ってる
  28.  Bing Maps Silverlight Control for Windows Phone  http://msdn.microsoft.com/en-us/library/ff941096%28v=VS.92%29.aspx

     How to: Use the Bing Maps Silverlight Control for Windows Phone  http://msdn.microsoft.com/en-us/library/ff941093%28v=VS.92%29.aspx  Working with Pushpins in the Map Control  http://msdn.microsoft.com/en-us/library/gg588383%28v=VS.92%29.aspx  Differences Between Silverlight and Silverlight for Windows Phone  http://msdn.microsoft.com/en-us/library/ff426930%28VS.95%29.aspx 本セッションの補足資料
  29.  2/19 Windows Phone 7 ブーストアップ  2/26 スマートフォン勉強会@関東#11 

    3/26 スマートフォン勉強会@関西#14 スマートフォン勉強会の告知