为什么在添加Google电容器Map后,Android应用程序的背景是黑色的?

9rygscc1  于 2023-04-28  发布在  Android
关注(0)|答案(1)|浏览(83)

我有一个用Ionic 6,Angular 14 & Capacitor 4制作的应用程序。只有对于某些设备,背景显示为黑色。使用Android Studio运行应用程序,我可以正确地看到背景,但如果我使用Chrome开发人员工具检查设备,我会看到它是黑色的。

**[EDIT]:**经调查,问题是由于添加了capacitor-google-map组件引起的。我尝试将capacitor-google-map版本降级到4.0.0并删除部分属性,但没有任何效果。

这是我的配置:

<div class="map">
  <capacitor-google-map #map *ngIf="hasMap"></capacitor-google-map>
</div>

Ts:

@ViewChild('map', { static: false }) mapRef?: 
ElementRef<HTMLElement>;

...

ngAfterViewInit() {
   let interval = setInterval(() => {
      if (this.mapRef?.nativeElement) {
        this.loadMap();
        clearInterval(interval);
      }
    }, 250);
}

async loadMap() {
  const center = {
    lat: this.portcall.Location.Latitude,
    lng: this.portcall.Location.Longitude,
  };

  this.googleMap = await GoogleMap.create({
    id: 'ps-map',
    element: this.mapRef.nativeElement,
    apiKey: environment.googleMapsApiKey,
    config: {
      center: center,
      zoom: 5,
      disableDefaultUI: true,
      styles: this.vesselService.getVesselMapsStyle(),
      tilt: 30,
    },
  });

  this.googleMap.addMarker({
    coordinate: center,
    title: this.portcall.Vessel.Name,
    iconUrl: this.getMapIcon(this.portcall.Location.Heading),
    iconSize: { width: 20, height: 34 },
  });
}

有人能帮忙吗?

j8ag8udp

j8ag8udp1#

您必须提供与显示黑色的设备相关的更多信息,但某些手机强制使用深色背景,可以通过将以下行添加到theme.xml来修复

<style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
     <item name="android:forceDarkAllowed" tools:targetApi="q">false</item>
</style>

相关问题