如何从turf js到我的控制层创建buffer?
下面是我的buffer代码:
var Transportasi = L.geoJSON(geojsonPointSarprasTransportasi, {
pointToLayer: function (feature, latlng) {
return L.marker(latlng, {
icon: IconTransportasi
}).bindTooltip(feature.properties.nama_sarpras);
},
onEachFeature: function (feature, latlng) {
var bufferedtransportasi = turf.buffer(feature, 10, {units: 'kilometers'});
L.geoJSON(bufferedtransportasi).addTo(map)
}
}).addTo(map);这是我的控制层代码。我想要到我的控制层的layer bufferedtransportasi:
var baseLayers = {
"OpenStreetMap": LayerKita,
"OpenCycleMap": L.tileLayer('http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png'),
"Outdoors": L.tileLayer('http://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png')
};
var overlays = {
"Sekolah": Sekolah,
"Kesehatan": Kesehatan,
"Transportasi": Transportasi
};
L.control.layers(baseLayers, overlays).addTo(map);发布于 2021-04-28 22:01:18
如果您想要一起启用/禁用所有缓冲层,您需要将它们添加到LayerGroup,然后将LayerGroup添加到layer控件:
var bufferGroup = L.featureGroup().addTo(map);
var Transportasi = L.geoJSON(geojsonPointSarprasTransportasi, {
pointToLayer: function (feature, latlng) {
return L.marker(latlng, {
icon: IconTransportasi
}).bindTooltip(feature.properties.nama_sarpras);
},
onEachFeature: function (feature, latlng) {
var bufferedtransportasi = turf.buffer(feature, 10, {units: 'kilometers'});
L.geoJSON(bufferedtransportasi).addTo(bufferGroup)
}
}).addTo(map);
var overlays = {
"Sekolah": Sekolah,
"Kesehatan": Kesehatan,
"Transportasi": Transportasi,
"Buffer": bufferGroup
};
L.control.layers(baseLayers, overlays).addTo(map);若要将每个缓冲区添加为自己的控件,请将buffer层添加到overlays对象:
var overlays = {
"Sekolah": Sekolah,
"Kesehatan": Kesehatan,
"Transportasi": Transportasi
};
var Transportasi = L.geoJSON(geojsonPointSarprasTransportasi, {
pointToLayer: function (feature, latlng) {
return L.marker(latlng, {
icon: IconTransportasi
}).bindTooltip(feature.properties.nama_sarpras);
},
onEachFeature: function (feature, latlng) {
var bufferedtransportasi = turf.buffer(feature, 10, {units: 'kilometers'});
var buffer = L.geoJSON(bufferedtransportasi).addTo(map)
overlays[feature.properties.nama_sarpras] = buffer;
}
}).addTo(map);
L.control.layers(baseLayers, overlays).addTo(map);https://stackoverflow.com/questions/67301558
复制相似问题