jVectorMap を使用して、国の値を色付けして表示しています (つまり、国は値に基づいて異なる色になっています)。特定の国がデータセットに含まれている場合を除いて、すべて正常に機能します。その場合、国は本来あるべきように色付けされません (実際、まったく色付けされません)。
私は、バーレーン (BH) とシンガポール (SG) を、マップを破る 2 つの国/都市州として特定しました。これらの国は地図に含まれていないようです。彼らがそこにいなくても、私は驚かない。ただし、マップが失敗しないことを願っています。
の JavaScript エラーは'this.elements[...].element' is null or not an object
次のとおりです (以下のコードの失敗に関するコメントを参照してください)。
jvm.DataSeries.prototype={
//...
setValues:function(e){
var t=Number.MIN_VALUE,n=Number.MAX_VALUE,r,i,s={};
if(!this.params.min||!this.params.max){
for(i in e)
r=parseFloat(e[i]),r>t&&(t=e[i]),r<n&&(n=r);
this.params.min||this.scale.setMin(n),this.params.max||this.scale.setMax(t),this.params.min=n,this.params.max=t
}
for(i in e)
//FAILS ON THE FOLLOWING LINE
r=parseFloat(e[i]),r?s[i]=this.scale.getValue(r):s[i]=this.elements[i].element.style.initial[this.params.attribute];
this.setAttributes(s),this.values=e
},
//...
},
この問題を解決する方法はありますか? jVectorMapコードを変更したくないか、Java コードで次のようなことを行う必要があります。
if (!countryCode.equals("BH") && !countryCode.equals("SG")) {
countryValues.put(countryCode, countryValue);
}