找出向量层是一条线还是一个区域(小册子)

Find out whether a vector layer is a line or an area (Leaflet)

本文关键字:一个 小册子 区域 向量 一条      更新时间:2023-09-26

如果添加到传单地图的矢量层是一条线或一个区域,我需要区分。我的目标是根据所选择的图层自动生成一个图例,该图例具有线条(由color属性着色并由layer.optionsdashArray样式)或区域(由fillColor属性着色)。文档没有说任何关于层的类型(或者至少我没有找到任何东西)。这可能吗?

我尝试了typeof layer(即object)和layer.constructor (function e())..

你可以循环遍历图层中的对象并使用instanceof:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/instanceof

例如:

myLayerGroup.eachLayer(function(layer) {
    if (layer instanceof L.Marker) {
        // it's a marker, do stuff
    }
    if (layer instanceof L.Polyline) {
        // it's a polyline, do stuff
    }
    if (layer instanceof L.Polygon) {
        // it's a polygon, do stuff
    }
});