首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的Control.Layers addBaseLayer和addOverlay似乎不能正常工作

我的Control.Layers addBaseLayer和addOverlay似乎不能正常工作
EN

Stack Overflow用户
提问于 2020-12-08 04:40:24
回答 1查看 253关注 0票数 0

我一直在遵循我在这里看到的使用addBaseLayer和addOverlayLayer函数添加图层控件的建议,但是生成的对象似乎无法被地图正确识别。我没有得到任何控件,当我试图点击地图控件时,我得到一个闪烁的光标和没有控制面板。我使用了ngx-leaflet演示,并修改了代码以匹配我在应用程序中所做的工作,并获得了相同的结果。

我的html看起来像这样:

代码语言:javascript
复制
    <div leaflet style="height: 300px;"
        [leafletOptions]="options"
        [leafletLayersControl._layers]="layers"
        [leafletLayersControl]="layersControl">
    </div>

我的.ts看起来像这样:

代码语言:javascript
复制
    layersControl = new Control.Layers();
    ...
    this.layersControl.addBaseLayer(this.LAYER_OSM.layer, 'Open Street Map');
    this.layersControl.addBaseLayer(this.LAYER_OCM.layer, 'Open Cycle Map');
    this.layersControl.addOverlay(this.circle.layer, "Circle");
    this.layersControl.addOverlay(this.square.layer, "Square");
    this.layersControl.addOverlay(this.polygon.layer, "Polygon");
    this.layersControl.addOverlay(this.marker.layer, "Marker");

这将产生以下layersControl对象:

相比之下,这是演示中的代码:

代码语言:javascript
复制
    layersControl = {
        baseLayers: {
            'Open Street Map': this.LAYER_OSM.layer,
            'Open Cycle Map': this.LAYER_OCM.layer
        },
        overlays: {
            Circle: this.circle.layer,
            Square: this.square.layer,
            Polygon: this.polygon.layer,
            Marker: this.marker.layer,
            GeoJSON: this.geoJSON.layer
        }
    };

这就产生了这个layersControl对象:

这仅仅是我的使用问题,还是一个bug?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2020-12-08 09:56:11

这是你的使用上的一个问题。

ngx-leaflet不期望将Leaflet层控制实例绑定到其[leafletLayersControl]属性,而是绑定到带有baseLayersoverlays字典的普通对象,如您提到的示例中所示。

如果你真的需要使用Leaflet Layers控件实例,你应该检索底层的mapObject,然后按照Leaflet API使用它,而不是试图将它提供给ngx-leaflet wrapper。

但另一种更像Angular的方法是简单地向普通对象添加数据(以防您想要动态添加基础层/覆盖层),并且Angular和ngx-leaflet将负责跟踪这些更改并相应地更新地图(及其图层控件)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65189035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档