mapbox / leaflet上的图层控件和geojson

时间:2014-03-20 17:57:41

标签: javascript leaflet mapbox

我混淆了the choropleth example

the layes control example

使用瓷砖控制图层,我没有问题,它完美无缺,但我需要使用geojson,这是我的问题: gejson图层始终位于前景中,而瓷砖则位于背景上。 但是在选择街道"在图层控制中,它位于前景中,而l.geojson位于后台。 我需要它来显示标签。使用trasparency对我的目的不利。 任何解决方案 这里是代码的一部分:

  var mapdataviz = L.mapbox.map('map', 'andria.h41061in')
   .setView([39.0981, 16.5619], 8);
 mapdataviz.legendControl.addLegend(document.getElementById('legend-content').innerHTML);


  L.control.layers({
    'city': L.mapbox.tileLayer('andria.cal_com_ief1'),
    'com_geojson': L.geoJson(comData,  {
      style: getStyle,
      onEachFeature: onEachFeature
  }).addTo(mapdataviz),
    'streets': L.mapbox.tileLayer('andria.h41061in')
},
 {
    'streets': L.mapbox.tileLayer('andria.h41061in'),

     'com_geojson': L.geoJson(comData,  {
      style: getStyle,
      onEachFeature: onEachFeature
  }).addTo(mapdataviz),
    'bounds': L.mapbox.tileLayer('andria.cal_conf')
}).addTo(mapdataviz);



  var popup = new L.Popup({ autoPan: false });

  // comData comes from the 'us-states.js' script included above
  var comLayer = L.geoJson(comData,  {
      style: getStyle,
      onEachFeature: onEachFeature
  })

  function getStyle(feature) {
      return {
          weight: 0.7,
          opacity: 0.5,
          color: 'white',
          fillOpacity: 0.8,
          fillColor: getColor(feature.properties.IEF1_2008)
      };
  }

1 个答案:

答案 0 :(得分:0)

你提到透明度并不适合你的目的,但是这个MapBox教程演示了如何将geoJson图层放在街道地图图层后面。

https://www.mapbox.com/blog/neighborhood-mapping-with-dynamic-vector-data-layers/

这有用吗?