2012年10月13日土曜日

Google Mapを調べてみた

1)Google 地図表示
    1)APIの取り込み
    <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
     sensorの引数は端末GPSなど使うかの指定。true:利用
    2)DIVタグの用意
     *ID属性をつけないと指定できない
     width,heightで表示サイズを指定できる。指定しないと全画面?
     <div style="width:400px,height:300px" id="mymap"/>
    3)google.Maps.Mapクラスの生成(初期処理)
     var map = new google.maps.Map(document.getElementById('mymap'), myOptions);

     オプションとして、
        zoom:    表示倍率
        center:    中心位置   
        mapTypeID: 地図表示タイプ
      の3つは必要
     zoomは整数値で指定 (0ー19、数値が大きくなるほど拡大、小さくなるほど縮小)
      centerはgoogle.maps.LatLngクラスで緯度、経度を指定する。
     mapTypeIDはgoogle.maps.MapTypeIdクラスで定義されている定数を指定する
        ROADMAP:地図のみ
        SATELLITE:航空写真のみ
        HYBRID:航空写真+地図
        TERRAIN:地形
       
     4)google mapを表示するためのイベントを設定
      a) HTMlタグにイベントを記述
        <body onload="initialize();">
      b) Javascriptでイベントリスナーを登録
        google.maps.event.addDomListener()メソッドを利用して、イベントと、Javascriptの関数を指定する。
        google.maps.event.addDomListener(イベント対象オブジェクト, 'イベント名', 関数オブジェク
ト);
        例)ウィンドウ(ブラウザ)のロード終了時にinitialize関数を呼び出す
        google.maps.event.addDomListener(window, 'load', initialize);
   
2)任意位置に移動
    mapオブジェクトのsetCenter()メソッドを利用
   
    map.setCenter(new google.maps.LatLng(lat,lng));
    いわき駅:37.05846492309772,140.89227676391602
3)表示中地図の中心位置を取得
    map.getCenter()で、google.maps.LatLngが取得できる
    google.maps.LatLngからは
    緯度:lat(),経度:lng()
    でそれぞれ取得できる
4)マーカーを表示
    google.maps.Makerクラスを利用
    animationを指定すると、表示する際のアニメーションを指定することができる。
      var maker= new google.maps.Marker({
        position: new google.maps.LatLng(lat,lng),
        map: map,//表示したい地図
            animation:google.maps.Animation.DROP,
        title: 'いわき駅'
      icon:'images/sample.jpg'
      });

0 件のコメント: