如何在AGM Angular 7中设置标记标签的背景颜色?

时间:2019-03-22 11:18:45

标签: javascript angular typescript google-maps angular-google-maps

 <agm-map  style="text-shadow: 0px 0px 8.2px yellow; color: red;" [latitude]='latitude'
    [longitude]='longitude' (mapClick)="onChoseLocation($event)" [zoom]=15 [usePanning]="true">
    <agm-marker *ngFor="let vehicle of data1;" [agmFitBounds]="true" 
      [latitude]='vehicle.lat' [longitude]='vehicle.lng' 
      [iconUrl]="{ url: './assets/images/cars.png', scaledSize: { width: 45, height: 45, rotation: vehicle.angle, anchor : {x:19, y:19} }}"
      [label]="{color: 'blue', fontWeight: 'bold', fontSize: '12px', backgroundColor:'red',  text: vehicle.name}">
      <agm-polyline *ngFor="let initialdata of vehicleDetail">
        <agm-polyline-point  [latitude]="initialdata.lat" [longitude]="initialdata.lng">
        </agm-polyline-point>
        <agm-polyline-point *ngIf="(vehicle.id == id)"  [latitude]="vehicle.lat" [longitude]="vehicle.lng">
        </agm-polyline-point>
      </agm-polyline>
      <agm-info-window [disableAutoPan]="true" #infoWindow [isOpen]="true">
        <small>
          Name: <small>{{vehicle.name}}</small> <br>
          Speed: <small>{{vehicle.speed}} km/h </small><br>
          <!-- Lng: <small>{{vehicle.lng}}</small> <br> -->
          Status: <small>{{vehicle.status}}</small>
        </small>
        <div>
          <a (click)="onClickInfoView({id:m.id})" class="btn btn-attention pull-right"></a>
        </div>
      </agm-info-window>
    </agm-marker>
  </agm-map>

我使用这样的背景颜色属性,但是不起作用。...

[label]="{color: 'blue', fontWeight: 'bold', fontSize: '12px', backgroundColor:'red',  text: vehicle.name}"

,我也想设置margintop,但是它不起作用。 enter image description here

在图片上方显示姓名。...但是我想让图片和背景颜色变红。

2 个答案:

答案 0 :(得分:2)

您可以为[iconUrl]使用labelOrigin:{x:12,y:27}属性来更改标签位置。 像这样: [iconUrl] =“ {url:'./assets/images/cars.png',scaledSize:{宽度:45,高度:45,旋转:vehicle.angle,锚点:{x:19,y:19}}, labelOrigin:{x:12,y:27}}

答案 1 :(得分:0)

在您的 styles.css 中添加以下样式以更改背景颜色。

.gm-style div[aria-hidden="true"]{
    background-color: white !important;
    padding: 5px;
    border-radius: 5px;
}