- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在做一个小项目来制作一张 map ,在这个例子中是荷兰,上面有一堆标记。数据通过 CSV 提供,我通过仪表板链接了图表和 slider 。
到目前为止,它运行良好,但是我在下一个功能上遇到了问题:注册对标记的点击,然后根据点击的标记将用户引导至不同的网页。
我已经尝试了很多次让它工作,但我相信这与我使用的是 chartWrappers 而不是普通图表这一事实有关。
这是我当前的代码:
google.charts.load('current', {
'packages':['geochart', 'controls'],
});
google.charts.setOnLoadCallback(drawMarkersMap);
function drawMarkersMap() {
$.get("output.csv", function(csvString) {
var arrayData = $.csv.toArrays(csvString, {onParseValue: $.csv.hooks.castToScalar});
var data = google.visualization.arrayToDataTable(arrayData)
var dashboard = new google.visualization.Dashboard(document.getElementById('controls_div'));
var Slider = new google.visualization.ControlWrapper({
controlType: 'NumberRangeFilter',
containerId: 'controls_div',
options: {
filterColumnLabel: data.getColumnLabel(1)
}
});
var GeoChart = new google.visualization.ChartWrapper({
chartType: 'GeoChart',
containerId: 'chart_div',
options: {
region: 'NL',
displayMode: 'markers',
resolution: 'provinces',
colorAxis: {colors: ['green', 'blue']}
}
});
google.visualization.events.addListener(GeoChart, 'select', function() {
var selection = GeoChart.getChart().getSelection();
//Above line doesn't work. Console also returns that getSelection property is null.
});
dashboard.bind(Slider, GeoChart);
dashboard.draw(data);
})};
如果有经验的人可以帮助我正确设置一个有效的监听器,我将永远感激不已。
最佳答案
关于包装与常规,你是对的
图表包装器没有 'select'
的事件
你必须等到包装器'ready'
,
然后在图表上监听'select'
,
看下面的片段……
google.visualization.events.addListener(GeoChart, 'ready', function() {
google.visualization.events.addListener(GeoChart.getChart(), 'select', function() {
var selection = GeoChart.getChart().getSelection();
});
});
请参阅以下工作片段...
google.charts.load('current', {
packages:['controls', 'geochart']
}).then(function () {
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity', 'Domain'],
['England', 400, 'www.example.com/England'],
['Wales', 300, 'www.example.com/Wales'],
['Scotland', 400, 'www.example.com/Scotland'],
['Ireland', 600, 'www.example.com/Ireland'],
]);
var view = new google.visualization.DataView(data);
view.setColumns([0, 1]);
var GeoChart = new google.visualization.ChartWrapper({
chartType: 'GeoChart',
containerId: 'chart_div',
dataTable: view,
options: {
region: 'GB',
displayMode: 'markers',
resolution: 'provinces',
colorAxis: {colors: ['green', 'blue']}
}
});
google.visualization.events.addListener(GeoChart, 'ready', function () {
google.visualization.events.addListener(GeoChart.getChart(), 'select', function () {
var selection = GeoChart.getChart().getSelection();
if (selection.length > 0) {
console.log(data.getValue(selection[0].row, 2));
//window.open('http://' + data.getValue(selection[0].row, 2), '_blank');
}
});
});
GeoChart.draw();
});
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>
关于javascript - 谷歌图表 : Registering a click on a GeoChart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48199194/
我想制作可选州的美国 map similar to what's shown here . Source 除了,而不是多个国家,我只想呈现美国各州,类似于以下内容。 In this jsBin ,我希
我想用 google GeoChart 做一个可视化。我输入了国家代码。我想显示完整的国家名称,但只弹出国家代码。 google.charts.load('current', { 'package
有一个 Google Geochart 的标准示例,国家/地区的刻度颜色取决于值。我的问题是如何用红色标记一个国家,例如加拿大,但像以前一样留下另一个国家。加拿大没有值(value)也可以,只是如何用
我可以找到每个 backgroundColor、colorAxis、datalessRegionColor 等的配置名称。但我只想更改默认的绿色。 示例代码: google.load('visu
我在使用 GeoCode 时遇到了一些问题:我的 map 需要超过 30 秒才能显示所有区域。事实上,我希望每个国家都翻译成我的语言(法语),所以我直接用他们的法语名称命名这些国家,而且效果很好,AP
这是我元素的演示。 https://jsfiddle.net/UdonX/6hra8Lw9/ google.load('visualization','1', {'packages':['geocha
这是一个由两部分组成的问题。 首先,当绘制的点只是城市并且没有人口或规模与之相关时,有没有办法改变谷歌地理图表上标记的大小?我只是列出了没有附加值的城市,Google 的所有示例都附加了某种人口。 例
一些国家,如“俄罗斯联邦”和“科特迪瓦”(“象牙海岸”)在这样命名时不会出现。 当我改为使用国家/地区代码时,大多数会出现,但这对我的项目没有用。 我想有某种可识别国家/地区名称的列表?或者也许是一种
我正在尝试为魁北克省 map 中的城市显示城市标记。根据谷歌文档,我们应该能够设置 resolution provinces 的选项并设置 region到 ISO 代码(例如:US-GA..)。当我尝
我正在尝试制作应该如下所示的 Google GeoChart: 但是,问题是,我什至不确定是否可以在其中混淆标记和文本。 现在我的代码如下: google.charts.load('current',
我正在使用 Google Geochart 生成 map (工作正常),但客户希望工具提示贴在包装 div 的底部。 JSFiddle 将鼠标悬停在深灰色区域上,工具提示将出现在 map 左下方,但如
我尝试了多种应用方法,但似乎都无法改变我的图表。我正在通过文件上传数组,一切似乎都有效,甚至更改了默认颜色,但 colorAxis 似乎不起作用。你们(和女孩)能帮助我吗,我将不胜感激。谢谢 /* C
所以这是附加代码中的问题。我有一个 GeoCharts div,旁边有一个表单 div,在后台有多个 CSV 文档正在管理数据。目标是当按下 #showButton 时,通过表单 div 中当前选择的
如何显示带有标记的名称,目前只有 1 个选项可以在“标记”或“文本”之间进行选择。如果我选择“文本”,则文本单击上没有单击选项。可以在 map 上同时显示两者吗?如果没有,那么我们可以在文本上添加点击
经过研究,我发现在GeoChart中还无法只显示特定的省份,但我在问自己是否可以放大到特定的省份?我找不到任何相关信息。 这是我能得到的最接近的结果(显示加拿大和其中的所有省份):
我正在尝试使用 ControlWrapper 来过滤数据以显示在仪表板内的 GeoChart 上。问题如下:我必须有三列:“国家”、“值”和“季度”。现在,我只想显示一个季度的信息,我可以通过 Cat
我想将 Google Geocharts 合并到我的网站上,因此我包含了他们指南中的代码,一切运行顺利。 但是,我想向网站添加几个单选按钮,这将控制图表上显示的区域。 我知道我需要在单击时将下面代码中
直到昨天,当谷歌地理图表停止收听我时,这一切都很好! 宽度和高度被忽略, map 已返回到其全宽 div 右上角的小版本。 google.load('visualization', '1
有没有办法在 Google Geocharts 中自定义区域边界颜色? API 提到了背景描边,但没有提到区域描边。 最佳答案 你不能用 API 设置来完成,但你可以用 CSS 来完成。 #map_c
我想像图像中那样为美国的每个州设置区域颜色? 在地理图中可能吗? 请指导我这样做。 感谢和问候, 兰吉斯·库马尔。 最佳答案 我过去还使用谷歌地理图表 API 构建了一张“政治” map 。 这是我用
我是一名优秀的程序员,十分优秀!