Как настроить всплывающее окно из mapbox

#javascript #html #css #angular #typescript

#javascript #HTML #css #angular #typescript

Вопрос:

У меня есть приложение 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;
 
}
  

Ответ №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;
  }
  

Комментарии:

1. Но должен ли я вводить класс css?

2. Я не смог найти класс mapboxgl-popup-content-wrapper , но я тестировал с этим, и мне mapboxgl-popup-content понравилось это :host ::ng-deep .mapboxgl-popup-content . Можете ли вы попробовать и дать мне знать? (Вы можете проверить это и перейти к example.css, чтобы увидеть пример.

3. ах, да. Очень приятно!! Спасибо

4. Итак, это без оболочки

5. Точно! Чтобы всегда знать, какой класс вам нужно редактировать в любом компоненте библиотеки, вы можете ожидать (с помощью инструмента разработки) элемент, созданный библиотекой.