吹き出しの内容を変更する

実行結果

次の例では、ボタンを押した際に吹き出しの内容を変更します。

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

ソースコードと解説

吹き出しの内容を変更するには、ZDC.MsgInfoクラスのsetHtml()setDom()を利用します。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script src="//test.api.its-mo.com/v3/loader?key=JSZddc5111626c8|Zo4wz&api=zdcmap.js,control.js&enc=SJIS" type="text/javascript"></script>
<script type="text/javascript">

    var map, widget;

    function loadMap() {
        map = new ZDC.Map(
            document.getElementById('ZMap'),
            {
                latlon: new ZDC.LatLon(35.6778614, 139.7703167),
                zoom: 5,
                mapType: ZDC.MAPTYPE_HIGHRES_LV18
            }
        );

        /* スケールバーを作成 */
        map.addWidget(new ZDC.ScaleBar());
        /* 通常のコントロールを表示 */
        map.addWidget(new ZDC.Control());

        /* 吹き出しを表示 */
        var htmlsrc1 =  '<div><b>Zetバーガー1号店</b></div>';
            htmlsrc1 += '<table cellspacing="0">';
            htmlsrc1 += '<tr><td><u>電話番号:03-xxxx-xxxx</u></td></tr>';
            htmlsrc1 += '<tr><td><u>email:xxx@xxx.xxx</u></td></tr>';
            htmlsrc1 += '</table>';
        widget = new ZDC.MsgInfo(map.getLatLon(), {html: htmlsrc1});
        map.addWidget(widget);
        widget.open();
    };

    /* setHtmlで吹き出しの内容を再設定 */
    function setHtmlChangeInfo() {
        var htmlsrc2 =  '<div><b>Zetバーガー2号店</b></div>';
            htmlsrc2 += '<table cellspacing="0">';
            htmlsrc2 += '<tr><td><u>電話番号:03-yyyy-yyyy</u></td></tr>';
            htmlsrc2 += '<tr><td><u>email:yyy@yyy.yyy</u></td></tr>';
            htmlsrc2 += '<tr><td><u><a href="http://www.zenrin-datacom.net/" target="_blank">';
            htmlsrc2 += 'URL:http://www.zenrin-datacom.net/</a></u></td></tr>';
            htmlsrc2 += '</table>';
        widget.setHtml(htmlsrc2);
    };

    /* setDomで吹き出しの内容を再設定 */
    function setDomChangeInfo() {
    var divObj = document.getElementById('ZMap');

        /* DOMを設定 */
        var node = document.createTextNode('Just a setDom Sample');
        divObj.appendChild(node);

        /* DOMを追加 */
        widget.setDom(node);
    };


</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; left:640px; position:absolute;">
    <input type="button" value="setHtmlで再設定" onclick="setHtmlChangeInfo();"><br>
    <input type="button" value="setDomで再設定" onclick="setDomChangeInfo();">
    </div>
</body>
</html>