Qual é a abordagem correta (ou recomendada) para identificar um "tipo" de camada no Leaflet / Javascript?
Eu posso usar com êxito layer instanceof
, mas isso só funciona quando você conhece o tipo em tempo de design (o que eu espero que seja geralmente o caso).
map.eachLayer(function(layer) {
console.log('_leaflet_id=' + layer._leaflet_id + ' is layer type= '+ getLayerTypeName(layer));
function getLayerTypeName(layer)
{
if (layer instanceof L.Marker){
return 'Marker';
}
else if (layer instanceof L.Tooltip){
return 'Tooltip';
}
else if (layer instanceof L.esri.DynamicMapLayer){
return 'DynamicMapLayer';
}
else if (layer instanceof L.esri.BasemapLayer){
return 'BasemapLayer';
}
else if (layer instanceof L.Layer){
return 'Layer';
}
else
{
return 'Unknown';
}
}
Existe uma abordagem diferente que eu deveria estar usando?
fonte