Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Overlay 此处映射:在MapSettingsControl中动态添加图层_Overlay_Here Api - Fatal编程技术网

Overlay 此处映射:在MapSettingsControl中动态添加图层

Overlay 此处映射:在MapSettingsControl中动态添加图层,overlay,here-api,Overlay,Here Api,在MapSettingsControl中动态添加图层,以便切换可见性。 当我尝试在mapSettingControl中添加图层时,它被禁用 背景: 我有一个使用传单开发的web应用程序。我有5层,如图1所示。传单上写的很好。现在我在这里使用Maps javascript API来开发相同的web应用程序 我在传单中的表现: 我在添加图层控制时将它们添加为地图覆盖,即 let layerControl = L.control.layers(baseMaps, overlayMaps).addTo(

在MapSettingsControl中动态添加图层,以便切换可见性。 当我尝试在mapSettingControl中添加图层时,它被禁用

背景:

我有一个使用传单开发的web应用程序。我有5层,如图1所示。传单上写的很好。现在我在这里使用Maps javascript API来开发相同的web应用程序

我在传单中的表现:

我在添加图层控制时将它们添加为地图覆盖,即

let layerControl = L.control.layers(baseMaps, overlayMaps).addTo(map);
当我需要在层控制中动态添加覆盖时,我使用以下方法:

layerControl.addOverlay(somelayer, "layer name");
这工作做得很好

我如何使用heremaps js api:

因为我有五个层,两个是集群层,两个是标记层,一个是geojson。 我尝试应用相同的方法,为五个图层创建一个组,并将它们添加到地图设置控件的图层中

  public clusterGroup1 = new H.map.Group();  
  public clusterGroup2 = new H.map.Group();
  public markerGroup1 = new H.map.Group();
  public markerGroup2 = new H.map.Group();
  public boundary = new H.map.Group();
已创建自定义地图设置界面:

this.customizedMapSetting = new H.ui.MapSettingsControl({
      baseLayers: [{
        label: "Normal", layer: defaultLayers.vector.normal.map
      }],
      layers: [{
        label: "Cluster-1",
        layer: this.clusterGroup1
      },
      {
        label: "Cluster-2",
        layer: this.clusterGroup2
      },
      {
        label: "Marker-1",
        layer: this.markerGroup1
      },
      {
        label: "Marker-2",
        layer: this.markerGroup2
      },
      {
        label: "Geojson",
        layer: this.boundary
      }]
    });
    this.customizedMapSetting.setAlignment('top-right');
    ui.addControl("customized", this.customizedMapSetting);

我正在向以下组添加标记:

dataArray.forEach(data=> {
            let lat = data.latlng[0];
            let lng = data.latlng[1];
            var marker = new H.map.Marker({ lat: lat, lng: lng }, { icon: icon});
            this.markerGroup1.addObject(marker);
          });
问题陈述
我无法使此地图设置ui为我的图层工作

如何在MapSettingControl中添加clusterlayers,以便切换(显示/隐藏)它们?(我认为我没有使用正确的分组方法)当我将它们添加为地图时,addLayer(clusterLayer)工作正常

如何在MapSettingControl中动态添加图层?传单方法的可能替代方案:

layerControl.addOverlay(somelayer, "layer name");


看看API,似乎
MapSettingsControl.Options

layers: {
    label: 'test',
    layer: instance of H.map.layer.Layer
}
切换时出现的错误是来自
DataModel的
InvalidArgumentException
。添加关于第一个参数的
。我相信这意味着在切换时,
DataModel.add
被调用并传递
H.map.Group
,该组在
mapsettings控件中设置,但DataModel.add需要
H.map.layer.layer
但接收
H.map.Group

我不确定是否可以简单地在
mapsettings控件中添加
H.map.Group
。我认为我们必须以某种方式添加
H.map.Group
作为
H.map.layer.layer
provider
,并将层对象添加到
MapSettingsControl

编辑


至于添加集群。当我尝试为集群添加新层时,它将灰显。创建了集群提供程序,也创建了ObjectLayer,但我认为在创建了
MapSettingsControl
并定义了将用作
H.map.layer.layer
的变量之后,更新变量将不会对切换行为产生影响。

查看API,似乎
mapsettings控件。选项

layers: {
    label: 'test',
    layer: instance of H.map.layer.Layer
}
切换时出现的错误是来自
DataModel的
InvalidArgumentException
。添加关于第一个参数的
。我相信这意味着在切换时,
DataModel.add
被调用并传递
H.map.Group
,该组在
mapsettings控件中设置,但DataModel.add需要
H.map.layer.layer
但接收
H.map.Group

我不确定是否可以简单地在
mapsettings控件中添加
H.map.Group
。我认为我们必须以某种方式添加
H.map.Group
作为
H.map.layer.layer
provider
,并将层对象添加到
MapSettingsControl

编辑


至于添加集群。当我尝试为集群添加新层时,它将灰显。创建了集群提供程序,也创建了ObjectLayer,但我认为在创建了
MapSettingsControl
并定义了充当
H.map.layer.layer
的变量之后,更新变量不会对切换行为产生影响。

请提供一个最小且相关的代码片段,以了解问题以及您迄今为止取得的成就。您好,是否要在地图上显示一些位图图像?然后请看这个链接嗨,不,我不想覆盖位图。我想在地图上显示一些geojson层、标记集群层和一些标记组层。为了控制那里的可见性(切换显示/隐藏),我无法使用“here api”的地图设置控件。请分享geojson图层的外观,好吗?如果您正在谈论地图图层,请查看此文档,矢量和光栅问题与地图设置ui有关,它不能正常工作。请提供一个最小的相关代码片段,以了解问题以及您迄今为止取得的成就。您好,是否要在地图上显示一些位图图像?然后请看这个链接嗨,不,我不想覆盖位图。我想在地图上显示一些geojson层、标记集群层和一些标记组层。为了控制那里的可见性(切换显示/隐藏),我无法使用“here api”的地图设置控件。请分享geojson图层的外观,好吗?如果您正在谈论地图图层,请查看此文档,矢量和光栅问题与地图设置ui有关,它不能正常工作。