我正在使用Leaflet生成基于Javascript的离线世界地图。
这是一个有效的JSFiddle示例:http://codepen.io/dagmara223/pen/jydMqy
有人可能会看到,世界上所有国家/地区都有一个巨大的(13.000行).js文件。一小部分样本:
"features": [{
"type": "Feature",
"id": "AFG",
"properties": {
"name": "Afghanistan",
"colorratio": "55" // Fetches the color ratio here!
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[61.210817, 35.650072],
[62.230651, 35.270664],
[62.984662, 35.404041],
[63.193538, 35.857166],
[63.982896, 36.007957],
// Goes on and on ..
一切都很好。然而,我已经实现了一种功能,该功能将基于值(1 - > 100)为每个地图着色。此属性是从此JSON变量中获取的。
因此,如果键值对存在,它将为给定的国家/地区着色。例如:
{
"AFG": "25",
"RUS": "91",
"SWE": "67",
"NOR": "82",
"USA": "13"
},
静态地投入数据,绝对有效。这些国家都是有色的。
但是,我从后端收到这些数据,因为对象匹配" ID"在上面的JSON中。例如,数据可能是:
"AFG":"25"
我对如何匹配感到疑问,例如"dataratio":"25"
,并在countries
的{{1}}变量中输入Afghanistan
。
由于该国家可能不会收到任何数据,因此该关键值对不应该存在 - 只应在数据存在的情况下创建。