2015-01-03 1 views
3

GeoJSON의 전단지 7.3 및 다각형 데이터를 사용하면 필드의 라벨을 어떻게 추가 할 수 있습니까?전단지가있는 다각형 레이블

다음은 현재 GeoJSON 폴리곤 데이터의 예입니다. 다각형의 중심에 고정 된 레이블을 사용하고 싶습니다.

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); 
}); 
+0

사용 http://jsfiddle.net/FranceImage/ro54bqbz/ : 여기

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

은 예입니다. http://leafletjs.com/reference.html#geojson – YaFred

답변

5

onEachFeature 콜백에서는 GeoJSON 층에 의해 생성 된 L.Polygon의 중심을 얻을 수 있으며, 여기에 레이블을 바인딩합니다. 난 당신이 L.geoJson 옵션에서 onEachFeature 콜백을 정의하는 것을 잊었다 생각 Leaflet.label

+0

을 참조하십시오. 이미이 기능을 oneachfeature라고 추가했거나 새 기능을 만들 수 있습니까? 지금까지 오류가 발생했습니다 : "TypeError : e is undefined" – Bergen88

+0

당신은 https://raw.githubusercontent.com/Leaflet/Leaflet.label/master/dist/leaflet.label.js와 https : // github를 포함 시켰습니까? .com/Leaflet/Leaflet.label/blob/master/dist/leaflet.label.css? – YaFred

+0

예. http://tinyurl.com/l5us5kp – Bergen88