Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Bing Mapsで遊ぼう!
第2回 ‐Bing Maps 上にオブジェクトを配置してみよう‐

Bing Maps上へのピンや線の配置

  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

 前回は任意の位置とズームレベ ルのMapを表示させました。今回はSilverlight Bing Maps SDK を利用して、地図上の任意の位置にピンを置いたりラインを引いたりしてみます。事前に準備するものは前回の「Silverlight で Bing Maps を表示しよう」と同様です。

目次

はじめに

 前回は任意の位置とズームレベルのMapを表示させました。

 今回はSilverlight Bing Maps SDK を利用して、地図上の任意の位置にピンを置いたりラインを引いたりしてみます。事前に準備するものは前回の「Silverlight で Bing Maps を表示しよう」と同様です。

用意するもの

 「Bing Maps Silverlight Control SDK」が必要です。マイクロソフトのWebページから入手して、インストールしてください。また、本稿では開発環境として「Expression Blend 3」を前提に話を進めます。

 サンプルファイル一式は、記事上のリンクからダウンロードしてください。

1. Map上の任意の位置にピンを表示してみよう

<!-- Bing Map -->
<Map:Map x:Name="map" Margin="0" d:LayoutOverrides="Width, Height" Grid.Row="2"
    CredentialsProvider="Bing Maps keysを記述 " 
    Center="35.70358, 139.74392" ZoomLevel="11.0000"
    ViewChangeOnFrame="map_ViewChangeOnFrame">
    <Map:Pushpin x:Name="cmPin" Location="35.70358,139.74392" ToolTipService.ToolTip="クラスメソッド" />
</Map:Map>

 今回はMap上にピンを表示してみたいと思います。

 この例では、クラスメソッド株式会社のある位置にピンを表示します。このようにPushpinクラスを利用することで任意の場所に簡単にピンを表示することができます。配置する数に特に制限はなく、任意の場所にいくつも置くことができます。ピンの大きさはMapの拡大縮小に追従しないため、情報量が多い場合はズームレベルによってピンの表示・非表示を切り替えるようにしてもよいでしょう。

 また、デフォルトではオレンジ色のピンが表示されるようになっていますが色は自由に変更可能です。

2. ピンのアイコンをオリジナルのものに変更しよう

 次は、ピンをオリジナルのアイコンにしてみたいと思います。Map上にはPushpinクラスを利用しなくてもコントロールを配置することができます。

 次の例では、Canvasクラスを使いBiz-RIAのロゴイメージをMap上に表示しています。

<!-- Bing Map -->
<Map:Map x:Name="map" Margin="0" d:LayoutOverrides="Width, Height" Grid.Row="2"
    CredentialsProvider=" Bing Maps keysを記述" 
    Center="35.70358, 139.74392" ZoomLevel="17.0000"
    ViewChangeOnFrame="map_ViewChangeOnFrame">
    <Map:Pushpin x:Name="stPin" Location="35.70200,139.74500" ToolTipService.ToolTip="飯田橋駅" Background="#FFCC3232" />
    <Map:Pushpin x:Name="cmPin" Location="35.70358,139.74392" ToolTipService.ToolTip="クラスメソッド" Background="#FF003DE9" />
            <Canvas Width="40"  Height="51" Map:MapLayer.Position="35.70358,139.74440" Map:MapLayer.PositionOrigin="BottomCenter" Background="Black" >
                <Canvas.Effect>
                    <DropShadowEffect Opacity="0.5"/>
                </Canvas.Effect>
        <Image Source="logo.png" Margin="1" />
            </Canvas>
</Map:Map>

 Map内に直接Canvasを置きMap:MapLayer.Positionプロパティで位置を指定することで、Pushpinと同じようにMap上に表示することができます。このように、Mapには自由にコントロールを配置でき、制御も簡単に行えます。様々な応用の仕方が考えられます。


  • ブックマーク
  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • クラスメソッド株式会社 杉浦 篤史(スギウラ アツシ)

    クラスメソッド株式会社(http://classmethod.jp/)RIAデベロッパー。クラスメソッドではFlexデベロッパーとして主にFlexを用いたRIA業務システムの開発を担当。開発においては要求される機能を満たすため、カスタムコンポーネントの開発に従事することが多い。

バックナンバー

連載:Bing Mapsで遊ぼう!
All contents copyright © 2005-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5