GoogleのGeoChart(https://google-developers.appspot.com/chart/interactive/docs/gallery/geochart)を使用しています。D3を使用していくつかの要素を変更しようとしています。私は以下のように彼らのコードを使用しました:
google.load('visualization', '1', {'packages': ['geochart']});
//google.setOnLoadCallback(drawMarkersMap);
function drawMarkersMap() {
var data = google.visualization.arrayToDataTable([
['Country', 'Popularity'],
['Germany', 200],
['United States', 300],
['Brazil', 400],
['Canada', 500],
['France', 600],
['RU', 700]
]);
var options = {
displayMode: 'markers'
};
var chart = new google.visualization.GeoChart(document.getElementById('chart_div'));
chart.draw(data, options);
window.setTimeout(function() {
var svg1 = d3.select("svg").selectAll("rect")
.filter(":nth-child(2)")
.remove();
console.log(svg1);
}, 2000);
};
別の関数からdrawMarkersMap()を呼び出していますが、タイムアウトによってsvgのrectsのみが選択されます。次に、削除したい3番目の四角形のみを選択します。コンソールログには、[Array [0]]が表示されます。これは、必要に応じて選択されたrectです。しかし、何も起こりません。var svg1 = d3.select( "svg")。selectAll( "rect")。remove()を使用すると、すべてのrectを削除できますが、特定のrectは削除できません。私は何か間違ったことをしていますか、それともGoogle GeoChartはこのタイプの操作を許可していませんか?ありがとうございました。