実行結果

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

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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
<script src="http://api.its-mo.com/cgi/loader.cgi?key=JSZ752c40ded32d&ver=2.0&api=zdcmap.js&enc=SJIS&force=1" type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
    var map, widget;

    function loadMap() {
        map = new ZDC.Map(
            document.getElementById('ZMap'),
            {
                latlon: new ZDC.LatLon(35.6778614, 139.7703167),
                zoom: 3
            }
        );
        /* 吹き出しを表示 */
        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:500px; height:300px; top:0px; left:20px; position:absolute;"></div>
    <div id="IBox" style="top:0px; left:540px; position:absolute;">
    <input type="button" value="setHtmlで再設定" onclick="setHtmlChangeInfo();"><br>
    <input type="button" value="setDomで再設定" onclick="setDomChangeInfo();">
    </div>
</body>
</html>