【问题标题】:How to customise popup from mapbox如何从 mapbox 自定义弹出窗口
【发布时间】:2020-11-16 21:47:08
【问题描述】:

我有 angular 8 应用程序,我可以显示一个弹出窗口。

但我想为弹出窗口设置样式。但是该怎么做呢?

所以我有这个模板:

  <mgl-layer
    *ngIf="imageLoaded"
    id="camera"
    type="symbol"
    [source]="{
      type: 'geojson',
      data: {
        type: 'FeatureCollection',
       
      }
    }"
    (click)= "onClick($event)"
    [layout]="{'icon-image': 'camera', 'icon-size': 0.25}"
  >
  </mgl-layer>
  <mgl-popup *ngIf="selectedPoint" [feature]="selectedPoint">
    <span [innerHTML]="selectedPoint.properties?.description"></span>
  </mgl-popup>

和ts:

 allWifiPoints = this.wifiPoints.map((wifi) => ({
    type: 'Feature',
    properties: {
      description:
      // eslint-disable-next-line max-len   
    },
    geometry: {
      type: 'Point',
      coordinates: wifi,
    },
  }));


  onClick(evt: MapLayerMouseEvent) {
    this.selectedPoint = evt.features![0];
  }

和css:

  .mapboxgl-popup-content-wrapper {
    width: 89px;
   
  }

但没有任何改变。弹出窗口保持白色

看图。

那么我要改变什么?

谢谢

所以在 css 中:toggle-layer.component.scss

我有这个:

:host ::ng-deep .mapboxgl-popup-content-wrapper {
  width: 89px;
 
}

【问题讨论】:

    标签: javascript html css angular typescript


    【解决方案1】:

    应该工作:

    :host ::ng-deep .mapboxgl-popup-content-wrapper {
        width: 89px;
        height: max-content;
        border: 2px solid #BF0404;
        background-color: rgba(243, 207, 207, 0.7);
        border-radius: 18px;
        margin-bottom: 3px;
      }
    

    【讨论】:

    • 但是我必须注入css类吗?
    • 我找不到课程mapboxgl-popup-content-wrapper,但我测试了这个课程并为我工作mapboxgl-popup-content 喜欢这个:host ::ng-deep .mapboxgl-popup-content。你能试试并告诉我吗? (您可以查看this 并转到example.css 以查看示例。
    • 啊,是的。非常好!!谢谢
    • 所以它没有包装器
    • 没错!为了始终了解您需要在任何库组件中编辑的类,您可以期望(使用开发工具)库创建的元素。
    猜你喜欢
    • 2021-08-29
    • 2013-01-15
    • 1970-01-01
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2021-12-15
    • 1970-01-01
    相关资源
    最近更新 更多