Маркеры Ionic 5 Google Maps мерцают при масштабировании

#android #google-maps #cordova #ionic-framework #capacitor

#Android #google-карты #кордова #ionic-framework #конденсатор

Вопрос:

У меня возникли проблемы с маркерами Google Maps в моем проекте Ionic 5, который изолирован только для собственных сборок Android.

При увеличении или уменьшении масштаба мои пользовательские маркеры мерцают / мигают.
Мерцание не является проблемой на других платформах. Только на родном Android.

Любые идеи будут с благодарностью приняты.

Здесь, во фрагменте кода маркера

   addMarker(station: StationModel, showMemberDiscount: boolean, index: number) {
    let selectedPrice = showMemberDiscount? station.selectedFuelTypePrice.discountedPrice : station.selectedFuelTypePrice.price;

    this.getMarkerIcons(station, showMemberDiscount).pipe(takeUntil(this.destroyed$)).subscribe(
      icons => {
        let marker = new google.maps.Marker({
          position: { lat: station.location.position.latitude, lng: station.location.position.longitude },
          label: {
            text:  selectedPrice.toFixed(1)   '',
            color: '#FFFFFF',
            fontSize: '20px',
            fontWeight: 'bold',
          },
          icon: icons.iconDefault,
          zIndex: index,
          map: this.map,
        });
        marker.addListener('click', () => {
          this.ngZone.run(() => {
            // reset previous active marker if there's one
            this.clearActiveMarker(true);
            this.map.panTo(marker.getPosition());
            // store the default icon for selected marker
            this.activeMarkerDefaultIcon = {marker: marker, icon: icons.iconDefault, zIndex: marker.getZIndex()};
            this.selectedStation.next(station);
            marker.setZIndex(google.maps.Marker.MAX_ZINDEX   1);
            marker.setIcon(icons.iconSelected);
          });
        });
        this.markers.push(marker);
      });
  }
 

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

1. Происходит ли это как в сборках debug, так и в сборках prod? сборка ionic cordova для Android —prod

2. Да, это происходит как в сборках debug, так и в сборках prod. Мы используем конденсатор. Команда такова… ionic capacitor build android --prod

Ответ №1:

Установка аппаратного ускорения на false решила проблему с мерцающим маркером

 <application android:hardwareAccelerated="false" ...>
 

https://developer.android.com/guide/topics/graphics/hardware-accel