1

我正在使用 Google 的 GeoChart API 生成美国地图。我想基于一个值突出显示状态,然后在将鼠标悬停在状态上时显示的工具提示中显示有关每个状态的一些额外信息。我希望完成的工具提示看起来像这样:

Nevada
Relevance: 4 ( the data driving the state highlight )
Data
More Data

地图效果很好,我可以使用该功能将任何我想要的文本添加到工具提示中PatternFormat(),但它会删除或忽略我尝试过的所有新行选项:

var formatter = new google.visualization.PatternFormat('some data\nmore data');
formatter.format(data, [0], 1);

我已经尝试了所有这些新的线路选项,但它们都不起作用: <br>, <br />, &#13;, &#10, &#x0A, &#x0D, \u000A, \u000D, \n, \r, \r\n, %0A,%0D

关于尝试的事情或实际有效的任何建议?这在其他一些谷歌图表中似乎是可能的。

呈现的 HTML 看起来像这样

<script type='text/javascript' src='https://www.google.com/jsapi'></script>

<script type='text/javascript'>

    google.load( 'visualization', '1', { 'packages': ['geochart'] } );
    google.setOnLoadCallback( drawRegionsMap );

    function drawRegionsMap()
    {

        var data = google.visualization.arrayToDataTable([
            [ 'State', 'Relevance' ],
            [ 'Arizona', 2 ],
            [ 'California', 4 ],
            [ 'Colorado', 1 ],
            [ 'Florida', 1 ],
            [ 'Georgia', 1 ],
            [ 'Idaho', 1 ],
            [ 'Illinois', 1 ],
            [ 'Indiana', 1 ],
            [ 'Iowa', 1 ],
            [ 'Kansas', 1 ],
            [ 'Kentucky', 1 ],
            [ 'Louisiana', 1 ],
            [ 'Maryland', 2 ],
            [ 'Montana', 1 ],
            [ 'Nevada', 2 ],
            [ 'New Mexico', 2 ],
            [ 'North Carolina', 1 ],
            [ 'North Dakota', 1 ],
            [ 'Oklahoma', 1 ],
            [ 'Oregon', 1 ],
            [ 'Pennsylvania', 1 ],
            [ 'South Carolina', 1 ],
            [ 'Tennessee', 1 ],
            [ 'Texas', 1 ],
            [ 'Utah', 2 ],
            [ 'Washington', 1 ],
            [ 'Wyoming', 1 ]
        ]);

        data.addRows([
            ['Has Distributor', 1],
            ['Sells Direct', 1]
        ]);

        var formatter = new google.visualization.PatternFormat('data <br> <br /> &#13; &#10 &#x0A &#x0D \u000A \u000D \n \r \r\n %0A %0D more data');
        formatter.format(data, [0], 1);

        var options =
        {
            width:      286,
            region:     'US',
            resolution: 'provinces',
            colorAxis:  { colors: ['#abdfab', '#006600'] },
            legend:     'none'
        };

        var chart = new google.visualization.GeoChart( document.getElementById( 'chart_div' ) );
        chart.draw( data, options );

    };

</script>

<div id="chart_div" style="width: 286px; height: 180px;"></div>
4

3 回答 3

1

对于遇到此问题的任何人,您都可以在文档中的图表选项中进行tooltip: {isHtml: true}设置

于 2016-03-18T14:19:19.403 回答
0

看看使用数据表角色。简而言之,您添加一个角色为 的新列tooltip,然后您可以根据需要自定义显示的内容。

我之前已经成功地将它用于折线图和柱形图,但折线图和柱形图的图表库页面明确提到它们支持角色,而地理图表页面不支持。这可能并不意味着它们不受支持。它可能只是没有记录的功能。

于 2012-08-27T12:57:09.487 回答
0

从我所有的研究和测试来看,我几乎可以肯定,目前不可能在 GeoChart 内的工具提示文本中添加新行。请参阅此问题以了解我最终提出的解决方案。这并没有解决换行问题,而是以适合我的应用程序并可能对其他人有帮助的方式重新格式化了工具提示。

于 2012-08-27T21:40:24.233 回答