Javascript 传单层数的限制?
我一直在用我的代码来解决这个问题,已经没有什么想法了。我有一个带有多个choropleth层的地图,在我添加Javascript 传单层数的限制?,javascript,leaflet,Javascript,Leaflet,我一直在用我的代码来解决这个问题,已经没有什么想法了。我有一个带有多个choropleth层的地图,在我添加opi_层之前,一切工作都完美无缺。此变量中包含行L.geoJson(opiData)
opi_层之前,一切工作都完美无缺。此变量中包含行L.geoJson(opiData)我很快发现这一行导致我的地图无法加载
故障排除步骤
我想可能是我在文件中添加了错误的javascript变量,但我没有,甚至没有在最后添加分号
然后我觉得文件不知怎么被破坏了。为了测试这一点,我将opiData
替换为fenData
,因为我知道fenData
正在工作。哇,成功了!这让我确信文件已经损坏了
为了测试这个理论,我通过一个python脚本运行数据,生成一个geojson文件,就像所有其他正在工作的geojson文件一样。还是不行
我仍然不确信文件没有任何问题,所以我复制了fenData(正在处理映射),将文件中的变量更改为Fendaa2,并重命名了文件Fendaa2。不!!令我惊讶的是,我仍然收到一个空白的灰色屏幕。这意味着文件没有损坏
我唯一的另一个想法是传单不允许超过三层?我觉得这很难相信
代码如下
var total_layer =
//ADDS GEOJSON DATA TO MAP
L.geoJson(totalData)
//SETS CHOROPLETH COLORS TO MAP colorbrewer2.org
function getColor_blue(d) {
return d > 489 ? '#084594' :
d > 408 ? '#2171b5' :
d > 326 ? '#4292c6' :
d > 245 ? '#6baed6' :
d > 163 ? '#9ecae1' :
d > 82 ? '#c6dbef' :
'#eff3ff';
}
//APPLYS COLOR TO MAP BASED OFF SELECTED PROPERTY IN GEOSJON
function style_total(feature) {
return {
fillColor: getColor_blue(feature.properties.rate),
weight: 1,
opacity: 1,
color: 'black',
fillOpacity: 0.7
};
}
;
var herion_layer =
//ADDS GEOJSON DATA TO MAP
L.geoJson(herData)
//SETS CHOROPLETH COLORS TO MAP colorbrewer2.org
function getColor_red(d) {
return d > 472 ? '#99000d' :
d > 394 ? '#cb181d' :
d > 315 ? '#ef3b2c' :
d > 236 ? '#fb6a4a' :
d > 157 ? '#fc9272' :
d > 79 ? '#fcbba1' :
'#fee5d9';
}
//APPLYS COLOR TO MAP BASED OFF SELECTED PROPERTY IN GEOSJON
function style_her(feature) {
return {
fillColor: getColor_red(feature.properties.rate),
weight: 1,
opacity: 1,
color: 'black',
fillOpacity: 0.7
};
}
;
var fen_layer =
//ADDS GEOJSON DATA TO MAP
L.geoJson(fenData)
//SETS CHOROPLETH COLORS TO MAP colorbrewer2.org
function getColor_green(d) {
return d > 18 ? '#005824' :
d > 15 ? '#238b45' :
d > 12 ? '#41ae76' :
d > 9 ? '#66c2a4' :
d > 6 ? '#99d8c9' :
d > 3 ? '#ccece6' :
'#edf8fb';
}
//APPLYS COLOR TO MAP BASED OFF SELECTED PROPERTY IN GEOSJON
function style_fen(feature) {
return {
fillColor: getColor_green(feature.properties.rate),
weight: 1,
opacity: 1,
color: 'black',
fillOpacity: 0.7,
};
}
;
var opi_layer =
//ADDS GEOJSON DATA TO MAP
L.geoJson(opiData);
//SETS CHOROPLETH COLORS TO MAP colorbrewer2.org
function getColor_purple(d) {
return d > 24 ? '#4a1486' :
d > 20 ? '#6a51a3' :
d > 16 ? '#807dba' :
d > 12 ? '#9e9ac8' :
d > 8 ? '#bcbddc' :
d > 4 ? '#dadaeb' :
'#f2f0f7';
}
//APPLYS COLOR TO MAP BASED OFF SELECTED PROPERTY IN GEOSJON
function style_opi(feature) {
return {
fillColor: getColor_purple(feature.properties.rate),
weight: 1,
opacity: 1,
color: 'black',
fillOpacity: 0.7,
};
}
;
//SETS MAP STARTING LOCATION
var map = L.map('map',{
center: [41.05, -77.5],
zoom: 8,
minZoom: 2,
maxZoom: 18,
layers: [total_layer],
});
//CREATES TILE LAYER
L.tileLayer('https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}{r}.png', {
attribution: ""
}).addTo(map);
var baseMaps = {
"Total": total_layer,
"Herion": herion_layer,
"Fentanyl": fen_layer,
"Opium": opi_layer,
};
L.control.layers(baseMaps).addTo(map);
//STYLES DATA FROM GEOJSON AND APPLYS THE LAYER TO MAP
L.geoJson(totalData, {
style: style_total,
}).addTo(total_layer);
L.geoJson(herData, {
style: style_her,
}).addTo(herion_layer);
L.geoJson(fenData, {
style: style_fen,
}).addTo(fen_layer);
L.geoJson(opiData, {
style: style_opi,
}).addTo(opi_layer)
传单没有最大层数,请参考:如何加载GeoJSON数据?另外,添加一个复制该问题的示例数据将非常有帮助。@ghybs我是个白痴。我一看到你的第一个问题就知道出了什么问题。我没有在HTMLDOH中插入“opiData.js”!我不熟悉javascript,因为你不知道