忍者ブログ

27Apr

[PR]

Posted by in

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

04Jul

Google Map Version3(オリジナルコントロール作成)

Posted by No Name Ninja in 【外部API】Google Map

グーグルマップでは、オリジナルのコントロールを作って表示することが可能です。
このサンプルでは、「太陽の塔」というボタンを作り、地図を動かした後にこのボタンを押すと、太陽の塔に戻ってきます。
SAMPLE
test.jpg






解説

<script type="text/javascript">

onload = function() {


  var myOptions = {
    //倍率5倍
    zoom: 16,
    //北緯、東経
    center: new google.maps.LatLng(34.809454, 135.532331),
    //マップスタイルは、ロードマップ
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    //ナビゲーションコントロール
    navigationControl: true,
    navigationControlOptions: {
      style:google.maps.NavigationControlStyle.ZOOM_PAN
    },
    //マップタイプコントロール
    mapTypeControl:true,
    mapTypeControlOptions:{
      style:google.maps.MapTypeControlStyle.HORIZONTAL_BAR
    },
    //スケールコントロール
    scaleControl:true
  };
  //表示枠を指定
  var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

  //マーカーオブジェクトの生成
  var marker = new google.maps.Marker({
    position: new google.maps.LatLng(34.809454, 135.532331),
    map: map,
    title: "太陽の塔"
  });

  //インフォウィンドウオブジェクトの生成
  var infowindow = new google.maps.InfoWindow({
    content: '<div style="font:color;navy">太陽の塔</div><img src="http://praiation.shiriagari.com/javascript_samples/0003/1-1/img/1182954083.jpg" width="100"/>',
    //サイズは余白ができるほど大きい値の場合、自動調整される。
    size: new google.maps.Size(200, 200)
  });
  //マーカーがクリックされたら、インフォウィンドウを表示するように設定する。
  google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
  });

  //表示するDIV要素を作成
  var controlDiv = createControl();
  //クリックされたときのイベントを登録
  google.maps.event.addDomListener(controlDiv, 'click', function() {
    map.setCenter(new google.maps.LatLng(34.809454, 135.532331))
  });
  //画面に表示
  map.controls[google.maps.ControlPosition.BOTTOM_RIGHT].push(controlDiv);
}


function createControl(){
  var controlDiv = document.createElement('DIV');

  controlDiv.style.padding = '5px';
 
  // Set CSS for the control border
  var controlUI = document.createElement('DIV');
  controlUI.style.backgroundColor = 'white';
  controlUI.style.borderStyle = 'solid';
  controlUI.style.borderWidth = '2px';
  controlUI.style.cursor = 'pointer';
  controlUI.style.textAlign = 'center';
  controlUI.title = 'Click to set the map to Home';
  controlDiv.appendChild(controlUI);

  // Set CSS for the control interior
  var controlText = document.createElement('DIV');
  controlText.style.fontFamily = 'Arial,sans-serif';
  controlText.style.fontSize = '12px';
  controlText.style.paddingLeft = '4px';
  controlText.style.paddingRight = '4px';
  controlText.innerHTML = '太陽の塔';
  controlUI.appendChild(controlText);
  return controlDiv;
}


</script>




PR

Comment


Vodafone絵文字 i-mode絵文字 Ezweb絵文字