ホ−ム » サンプルコード » 図形の形や色を変更する

図形の形や色を変更する

実行結果

次の例では、ボタンを押した際に図形の形や色を変更します。

Your borwser is not supporting object tag. Please use one of the latest browsers.
Go to ./apisample/widget/widget_024.html

ソースコードと解説

図形の形や色を変更するには、ZDC.PolylineクラスとZDC.OvalクラスのsetShapeStyle()redraw()を利用します。

<!DOCTYPE html>
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<script src="//api.its-mo.com/v3/webgl-loader?key=JSZ9ea6d26ac8a7|VbFeP&ver=bldg_w_tex&api=webgl.js&enc=EUC&force=1" type="text/javascript"></script>
<script type="text/javascript">
    "use strict";
    var map, pl, ov,
        lat = 35.66297325982054, lon = 139.76598186955528;

    function loadMap() {
        map = new ZDC.Map(
            document.getElementById('ZMap'),
            {
                latlon: new ZDC.LatLon(lat, lon),
                zoom: 14.5,
                heading: 155,
                tilt: 70
            }
        );

        /* スケールバーを作成 */
        var scale = new ZDC.ScaleBar();

        /* スケールバーを表示 */
        map.addWidget(scale);

        /* 線の頂点を作成 */
        var latlons = [];
        latlons.push(new ZDC.LatLon(35.66297325982054,139.76598186955528));
        latlons.push(new ZDC.LatLon(35.66397325982054,139.76648186955528));
        latlons.push(new ZDC.LatLon(35.66197325982054,139.76698186955528));

        /* 線を作成 */
        pl = new ZDC.Polyline(latlons);

        /* 線を地図に追加 */
        map.addWidget(pl);

        /* 楕円を作成 */
        ov = new ZDC.Oval(
            {
                latlon: new ZDC.LatLon(35.660973,139.76498),
                x: 200,
                y: 200
            },{
				fillColor: '#000000'
            }
        );

        /* 楕円を地図に追加 */
        map.addWidget(ov);
    };

    function redrawShape() {
        /* 線を多角形に変更してスタイルを編集 */
        pl.setShapeStyle(
        {
            strokeColor: '#00FF00',
            strokeWeight: 2,
            fillColor: '#FF0000',
            lineOpacity: 0.4,
            fillOpacity: 0.4,
            closePath: true
        });
        /* 線の変更を反映する */
        pl.redraw();

        /* 円のスタイルを編集 */
        ov.setShapeStyle(
        {
            strokeColor: '#FF00FF',
            strokeWeight: 2,
            fillColor: '#0000FF',
            lineOpacity: 0.4,
            fillOpacity: 0.4,
            circle:true
        });
        /* 円の変更を反映する */
        ov.redraw();
    };

</script>
</head>

<body onload="loadMap();">
    <div id="ZMap" style="border:1px solid #777777; width:750px; height:500px; top:0px; left:20px; position:absolute;"></div>
    <div id="IBox" style="top:20px; right:40px; position:absolute;">
        <input type="button" value="再描画" onclick="redrawShape();">
    </div>
</body>
</html>