TypeError:i是未定义的javascript传单api

TypeError:i是未定义的javascript传单api,javascript,html,css,map,leaflet,Javascript,Html,Css,Map,Leaflet,我的代码在下面 <html> <head> <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css" /> <script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js"></script> <script src="india.js" type="text/jav

我的代码在下面

<html>
<head>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.css" />
<script src="http://cdn.leafletjs.com/leaflet-0.6.4/leaflet.js"></script>
<script src="india.js" type="text/javascript"></script>
</head>
<body>
    <div id="map1" style="width: 1100px; height: 400px"></div>
    <script>
        var area = L.map('map1', {
            center : [ 27.8800, 78.0800 ],
            zoom : 4
        });

        L.tileLayer('http://a.tiles.mapbox.com/v3/raj333.map-gugr5h08/{z}/{x}/{y}.png').addTo(area);

        var indiaLayer = L.geoJson(india, {
            style : {
                weight : 2,
                opacity : 1,
                color : 'white',
                dashArray : '3',
                fillOpacity : 0.8
            }
        });

        area.addLayer(indiaLayer);

        var indiaLayer1;

        function clickedtest() {
            var indiaLayer = L.geoJson(india, {
                style : {
                    weight : 2,
                    opacity : 1,
                    color : 'white',
                    dashArray : '3',
                    fillOpacity : 0.8
                }
            });

            area.addLayer(indiaLayer);
            indiaLayer.on('click', clicked);
            area.removeLayer(indiaLayer1);
            removeEventListener('click', clicked, indiaLayer1);
            return;
        }

        function clicked() {
            var indiaLayer1 = L.geoJson(india, {
                style : {
                    weight : 2,
                    opacity : 1,
                    color : 'white',
                    dashArray : '3',
                    fillOpacity : 0.1
                }
            });

            area.addLayer(indiaLayer1);
            indiaLayer1.on('click', clickedtest);
            area.removeLayer(indiaLayer);
            removeEventListener('click', clicked, indiaLayer);
            return;
        }
        indiaLayer.on('click', clicked);
        indiaLayer1.on('click', clickedtest);
    </script>
</body>
</html>

var area=L.map('map1'{
中间:[27.8800,78.0800],
缩放:4
});
L.tileLayer('http://a.tiles.mapbox.com/v3/raj333.map-gugr5h08/{z} /{x}/{y}.png').addTo(区域);
var indiaLayer=L.geoJson(印度{
风格:{
体重:2,
不透明度:1,
颜色:'白色',
dashArray:'3',
填充不透明度:0.8
}
});
面积。addLayer(indiaLayer);
var indiaLayer1;
函数clickedtest(){
var indiaLayer=L.geoJson(印度{
风格:{
体重:2,
不透明度:1,
颜色:'白色',
dashArray:'3',
填充不透明度:0.8
}
});
面积。addLayer(indiaLayer);
indiaLayer.on('click',clicked);
removeLayer地区(indiaLayer1);
removeEventListener(“单击”,单击,indiaLayer1);
返回;
}
函数单击(){
var indiaLayer1=L.geoJson(印度{
风格:{
体重:2,
不透明度:1,
颜色:'白色',
dashArray:'3',
填充不透明度:0.1
}
});
面积。添加层(indiaLayer1);
indiaLayer1.在('click',clickedtest');
removeLayer地区(indiaLayer);
removeEventListener(“单击”,单击,indiaLayer);
返回;
}
indiaLayer.on('click',clicked);
indiaLayer1.在('click',clickedtest');
这里是一些JSON文件。在这里,我想将图层的不透明度从0.1改为0.8或相反…但这给我带来了一个错误…任何帮助都将不胜感激…我已经花了一整天的时间在这上面,但无法找到解决方案。帮助


您可以使用任何其他geoJson文件进行测试。

您是否仅使用两层来更改不透明度?在这种情况下,移除所有indiaLayer1材料并使用:

indiaLayer.on('click', clicked);

function clicked(e){

    var layer = e.target;

    if (layer.style.fillOpacity == 0.1){
        layer.setStyle({
            fillOpacity: 0.9
        });
    } else{
        layer.setStyle({
            fillOpacity: 0.1
        });
    }
}