Javascript 带单张的多边形标签

Javascript 带单张的多边形标签,javascript,jquery,leaflet,geojson,Javascript,Jquery,Leaflet,Geojson,使用GeoJSON中的传单7.3和多边形数据,如何从field:NAME添加标签 下面是当前GeoJSON多边形数据的示例。我想在多边形中心启用固定标签,重叠OK var districts = L.geoJson(null, { style: function (feature) { return { color: "green", fill: true, opacity: 0.8 }; }, onEachFeature(feat

使用GeoJSON中的传单7.3和多边形数据,如何从field:NAME添加标签

下面是当前GeoJSON多边形数据的示例。我想在多边形中心启用固定标签,重叠OK

var districts = L.geoJson(null, {
  style: function (feature) {
    return {
      color: "green",
      fill: true,
      opacity: 0.8
    };
  },


onEachFeature(feature, layer) {
    layer.on('mouseover', function () {
      this.setStyle({
        'fillColor': '#0000ff'
      });
    });
    layer.on('mouseout', function () {
      this.setStyle({
        'fillColor': '#ff0000'
      });
    });
    layer.on('click', function () {
    window.location = feature.properties.URL;
    });
}

});

$.getJSON("data/districts.geojson", function (data) {
  districts.addData(data);
});

onEachFeature回调中,您可以获取GeoJSON层创建的L.多边形的中心,并将标签绑定到该中心

var polygonCenter = layer.getBounds().getCenter();

// e.g. using Leaflet.label plugin
L.marker(polygonCenter)
    .bindLabel(feature.properties['NAME'], { noHide: true })
    .addTo(map);

下面是一个示例:使用

我是将其添加到已经调用的oneachfeature中,还是创建一个新的?到目前为止,我得到了一个错误:“TypeError:e未定义”您是否包含和?app1o8bd13e.js中有一个错误。。。onEachFeature:功能(功能,图层)。目前,您拥有onEachFeature(feature,layer)。您可以使用浏览器javascript控制台查看此错误我已经更新了代码,但出现了“bindLabel不是函数”错误。我想您忘了在L.geoJson选项中定义onEachFeature回调。看见