「GoogleMaps API V3」 の使い方その7(ポリライン・ポリゴン)


■マップ上にポリライン・ポリゴンを表示

マップ上にポリライン(折れ線)及び、ポリゴン(多角形)を表示します。
ポリラインを表示するにはPolylineクラスを生成し、それをマップ上に設定します。
また、ポリゴンを表示するにはPolygonクラスを生成し、それをマップ上に設定します。

以下の例は、5個の座標を用いてそれぞれ同じ形のポリライン、ポリゴンを表示します。ポリゴンは内部を薄い色で塗りつぶしを行います。

<head>
<title>Google Map API v3-7</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?key=MyKeyCode" charset="utf-8"></script>
<script type="text/javascript">
function initialize() {
    // Google Mapで利用する初期設定用の変数
    var latlng = new google.maps.LatLng(36.062092, 136.223323);
    var mapOptions = {
        zoom: 14,
        mapTypeId: google.maps.MapTypeId.ROADMAP,
        center: latlng
    };
    // GoogleMapの生成
    var map = new google.maps.Map(document.getElementById("map"), mapOptions);
    // 5個の座標(値は特に意味は無い)
    var latlngData = [
        { lat:"36.067258", lng:"136.220604" },
        { lat:"36.065487", lng:"136.230723" },
        { lat:"36.062456", lng:"136.230704" },
        { lat:"36.061456", lng:"136.220904" },
        { lat:"36.063794", lng:"136.210064" }
    ];
    // 5個の座標2(値は特に意味は無い)
    var latlngData2 = [
        { lat:"36.057258", lng:"136.220604" },
        { lat:"36.055487", lng:"136.230723" },
        { lat:"36.052456", lng:"136.230704" },
        { lat:"36.051456", lng:"136.220904" },
        { lat:"36.053794", lng:"136.210064" }
    ];
    var arrCoords = new Array();
    for (i = 0;i < latlngData.length;i++) {
        // 座標地をlatlng値に変換
        var latlng = new google.maps.LatLng(latlngData[i].lat, latlngData[i].lng);
        // latlng値を配列に退避
        arrCoords.push(latlng);
    }
    var arrCoords2 = new Array();
    for (i = 0;i < latlngData2.length;i++) {
        // 座標地をlatlng値に変換
        var latlng2 = new google.maps.LatLng(latlngData2[i].lat, latlngData2[i].lng);
        // latlng値を配列に退避
        arrCoords2.push(latlng2);
    }
    // ポリライン(折れ線)を生成し、マップに表示
    var poly = new google.maps.Polyline({
        map: map,              //マップ
        path: arrCoords,       //ポリラインの座標の列
        strokeWeight: 5,       //ストローク幅(ピクセル単位)
        strokeColor: "#f01010",//16進数形式のストロークの色
        strokeOpacity: 0.5     //ストロークの不透明度(0.0~1.0)
    });
    // ポリゴン(多角形)を生成し、マップに表示
    var poly2 = new google.maps.Polygon({
        map: map,              //マップ
        paths: arrCoords2,     //閉ループを示す座標列
        strokeWeight: 5,       //ストローク幅(ピクセル単位)
        strokeColor: "#f01010",//ストロークの色(16進数形式)
        strokeOpacity: 0.5,    //ストロークの不透明度
        fillColor: "#fc4040",  //塗りつぶしの色(16進数形式)
        fillOpacity: 0.1       //塗りつぶしの不透明度(0.0~1.0)
    });
}
</script> 
</head> 
<body onload="initialize();">
  <div id="map" style="width: 400px; height: 400px;"></div>
</body> 
</html> 

■関連記事
⇒「GoogleMaps API V3」の使い方その1
⇒「GoogleMaps API V3」の使い方その2
⇒「GoogleMaps API V3」の使い方その3(マーカーの表示)
⇒「GoogleMaps API V3」の使い方その4(イベント)
⇒「GoogleMaps API V3」の使い方その5(続イベント)
⇒「GoogleMaps API V3」の使い方その6(続々イベント)
⇒「GoogleMaps API V3」の使い方その8(ジオコーディング)
⇒「GoogleMaps API V3」の使い方その9(ルート検索)
⇒「GoogleMaps API V3」の使い方その10(ルート検索2)
⇒「GoogleMaps API V3」の使い方その11(さらにInfowindow)

ページのトップへ戻る