Javascript 已定义标记组的getBounds()

Javascript 已定义标记组的getBounds(),javascript,leaflet,mapbox,Javascript,Leaflet,Mapbox,我想根据共享属性将mapBox地图缩放到特定的标记组 我有一张带有一堆标记的地图,从这组中我为两个独立的区域构建了两个数组,如下所示: var regionOne = [], regionTwo = []; map.markerLayer.on('layeradd', function(e){ var marker = e.layer, feature = marker.feature; switch (feature.properties.region) {

我想根据共享属性将mapBox地图缩放到特定的标记组

我有一张带有一堆标记的地图,从这组中我为两个独立的区域构建了两个数组,如下所示:

var regionOne = [], regionTwo = [];

map.markerLayer.on('layeradd', function(e){

  var marker = e.layer,
      feature = marker.feature;

   switch (feature.properties.region) {
      case 'region-one':
        regionOne.push(feature);
        break;
      case 'region-two':
        regionTwo.push(feature);
        break;
    }
});
但我还停留在下一步。我需要将标记对象数组转换为featureGroup(如描述和文档所述),这样我就可以应用
getBounds()
方法,但只需运行

var regionGroup = new L.featureGroup(regionOne);

即使
regionOne
是mabox标记对象的有效数组,也会引发错误。

是否确定已填充
regionOne
regionTwo
数组

在您的函数中,似乎无法访问
功能
对象。试一试:

map.markerLayer.on('layeradd', function(e){
   var layer = e.layer;
   switch (layer.properties.region) {
      case 'region-one':
        regionOne.push(layer);
        break;
      case 'region-two':
        regionTwo.push(layer);
        break;
    }
});
编辑:

需要将
分配给每个阵列,而不是
功能

var regionOne = [], regionTwo = [];

map.markerLayer.on('layeradd', function(e){

  var marker = e.layer,
      feature = marker.feature;

   switch (feature.properties.region) {
      case 'region-one':
        regionOne.push(marker);
        break;
      case 'region-two':
        regionTwo.push(marker);
        break;
    }
});

是的,我在前面的代码中定义了
功能
,但没有将其包含在代码段中。我编辑了我的问题以反映这一点。请在快照上方给出编辑后的答案。名称可能会混淆,但
featureGroup
需要一个
ILayers
数组,就像
layerGroup
一样。