2013-08-29 1 views
0

Мой код нижеTypeError: я не определен Javascript листовка апи

<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> 

здесь Индии некоторые jeoJson файл. здесь я хочу изменить непрозрачность слоя от 0,1 до 0,8 или наоборот ... но это порождает мне ошибку .... любая помощь была бы высоко оценена ... я уже провел полный день на ней, но не смог получить решение. Помощь

вы можете взять любой другой файл geoJson для целей тестирования.

ответ

1

Вы используете 2 слоя, чтобы изменить непрозрачность? В этом случае удалите все материалы 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 
     }); 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^