グラフの描画にマークのマップを使用しています。国名だけでなく、国に関連する追加の値を警告したい。onClick
ただし、関数内で利用できるのは geography オブジェクトのみです。次のような他のデータにアクセスするにはどうすればよいですか
'numberOfThings'
内部onClick
機能?
前もって感謝します。
グラフの描画にマークのマップを使用しています。国名だけでなく、国に関連する追加の値を警告したい。onClick
ただし、関数内で利用できるのは geography オブジェクトのみです。次のような他のデータにアクセスするにはどうすればよいですか
'numberOfThings'
内部onClick
機能?
前もって感謝します。
done
クリック ハンドラーをセットアップするには、Datamapsのコールバックを使用する必要があります。クリック ハンドラー内ではid
、geography オブジェクトの を使用してオブジェクトを参照map.options.data
し、関連データを検索できます。
米国のみに追加のデータがある実際の例は次のとおりです。
map = new Datamap({
scope: 'world',
element: document.getElementById('container1'),
projection: 'mercator',
height: 500,
fills: {
defaultFill: '#f0af0a',
lt50: 'rgba(0,244,244,0.9)',
gt50: 'red'
},
data: {
USA: {fillKey: 'lt50', numberOfThings: 120132 },
RUS: {fillKey: 'lt50' },
CAN: {fillKey: 'lt50' },
BRA: {fillKey: 'gt50' },
ARG: {fillKey: 'gt50'},
COL: {fillKey: 'gt50' },
AUS: {fillKey: 'gt50' },
ZAF: {fillKey: 'gt50' },
MAD: {fillKey: 'gt50' }
},
done: function(map) {
map.svg.selectAll('.datamaps-subunit').on('click', function(geo) {
var localData = map.options.data[geo.id]
if ( localData && localData.numberOfThings ) {
alert(localData.numberOfThings)
}
})
}
})