Как установить размер карт Google, чтобы они не перекрывали BottomNavigationBar - PullRequest
0 голосов
/ 05 июля 2018

У меня есть следующий код для установки размера наложения карты. Обратите внимание, что ширина устанавливается на основе MediaQuery. Высота тоже была установлена ​​таким образом, но она всегда будет перекрывать нижнюю панель навигации

void buildMap() async {
if (mapOverlayController != null) return;

var mq = MediaQuery.of(context);
// add delay so overlay is positioned correctly
await new Future<Null>.delayed(new Duration(milliseconds: 20));

mapOverlayController = GoogleMapOverlayController.fromSize(
  width: mq.size.width,
  height: 300.0,
  options: GoogleMapOptions(
    trackCameraPosition: true,
  ),
);
mapOverlayController.mapController.addListener(_onMapChanged);
mapOverlayController.overlayController.activateOverlay();
setState(() {});
 }

 Widget renderMap() {
if (mapOverlayController == null) {
  return Center(
      child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: [
            SizedBox(
              height: 150.0,
              width: 150.0,
              child: new CircularProgressIndicator(
                valueColor: AlwaysStoppedAnimation<Color>(Colors.redAccent),
                value: null,
                strokeWidth: 7.0,
              ),
            ),
            new Container(
              margin: const EdgeInsets.only(top: 25.0),
              child: new Center(
                child: new Text(
                  "Loading.. please wait...",
                ),
              ),
            ),
          ]));
} else {
  return GoogleMapOverlay(controller: mapOverlayController);
}
}

Я бы хотел, чтобы высота карты включала всю область под панелью карты и над нижней панелью навигации

I would like the height of the map to include all of the area below the map bar and above the bottom navigation bar

1 Ответ

0 голосов
/ 05 июля 2018

К сожалению, эти пакеты Google Map не интегрированы в дерево виджетов флаттера и просто висят поверх флаттера в виде собственного вида.

В зависимости от вашего варианта использования, если вам просто нужно изображение карты (с маркерами или областью на нем), вы можете использовать статические карты Google api , вызвать их конечную точку HTTP и получить изображение вернулся.

Если вам действительно нужна настраиваемая карта, вам нужно изменить сам нативный код в зависимости от ваших потребностей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...