Sehr geehrte Kollegen Programmierer,Wie kann ich Ländercodes in d3 mit JQuery zurückgeben?
Ich habe eine Frage zu d3 und JQuery. Im folgenden Code verwende ich Daten, um eine d3 Weltkarte zu färben, die ich von http://datamaps.github.com/scripts/datamaps-all.js erworben habe. Ich muss sicherstellen, dass, wenn der Benutzer auf eines der Länder klickt, es die Landesvorwahl dieses Landes (3 Buchstaben, zum Beispiel: NLD) zurückgibt, damit ich es für andere Funktionen verwenden kann. Jede Hilfe würde sehr geschätzt werden!
$("#container1").datamap({
scope: 'world',
done: $(function(datamap) {
datamap.svg.selectAll('.datamaps-subunit').on('click', function(geography) {
var countryData = mapData[geography.id];
}),
geography_config: {
borderColor: 'rgba(255,255,255,0.3)',
highlightBorderColor: 'rgba(0,0,0,0.5)',
popupTemplate: _.template([
'<div class="hoverinfo">',
'<% if (data.name) { %> <strong><%= data.name %></strong><br/><% } %>',
'<% if (data.GDP) { %>',
'GDP per capita: <strong><%= data.GDP %><strong><br/> <% } %>',
'</div>'
].join(''))
},
fills: {
A: '#fdd0a2',
B: '#fdae6b',
C: '#fd8d3c',
D: '#f16913',
E: '#d94801',
F: '#a63603',
G: '#7f2704',
defaultFill: 'grey'
},
data: {
"QAT": {
"name": "Qatar",
"fillKey": "G",
"GDP": "140649.2"
},
"": {
"name": "Gambia",
"fillKey": "A",
"GDP": "1630.5"
},
"LUX": {
"name": "Luxembourg",
"fillKey": "G",
"GDP": "98459.5"
},
"SGP": {
"name": "Singapore",
"fillKey": "F",
"GDP": "82763.0"
},
....
was bekommen Sie in geography variable? – riteshmeher
Es zeigt den folgenden Fehler an: Uncaught TypeError: Kann die Eigenschaft 'selectAll' von undefined nicht lesen. –
Und wenn ich console.log (datamap) es zeigt: Funktion: (a, b) {return new n.fn.init (a, b)} –