Как отображать метки карты по умолчанию с помощью Google Maps Flutter

Я думаю, что моя проблема такая же, как здесь:

InfoWindowText маркера по умолчанию в виджете Google карты

Однако ответа нет, кроме ссылки на другой пост, а это не совсем то, что я хочу делать.

Когда моя карта открывается в моем приложении, маркеры отображаются правильно, но я также хочу, чтобы все метки отображались по умолчанию при открытии ...

введите описание изображения здесь

Как показано здесь одним из маркеров:

введите описание изображения здесь

Я создаю такие маркеры:

 for (Location location in _locations) {
      final locationMarker = Marker(
          markerId: MarkerId(location.id),
          position: LatLng(location.geoY, location.geoX),
          infoWindow: InfoWindow(
            title: location.name,
          ),
          onTap: () => _onTap(location),
          icon: _mapMarkers.icon(location.slug),
          draggable: false);

      markers.add(locationMarker);
    }

Тогда карта такая:

 Widget _map(Set<Marker> markers) => GoogleMap(
        mapType: MapType.normal,
        initialCameraPosition: CameraPosition(target: widget.mapCentre),
        markers: markers,
        ...
        onMapCreated: (controller) => _onMapCreated(controller, markers),
      );

И в _onMapCreated я попытался показать все метки, но на самом деле отображается только последний в списке маркеров:

 _onMapCreated(GoogleMapController controller, Set<Marker> markers) {
    if (mounted) {
      setState(() {
        _controller.complete(controller);
        controller.setMapStyle(_mapStyle);
        for (var marker in markers) {
          controller.showMarkerInfoWindow(marker.markerId);
        }
      });
...

Я использую:

[{
    "featureType": "poi",
    "stylers": [
    {
        "visibility": "off"
    }
    ]
}]

чтобы удалить достопримечательности с карт, и я надеюсь, что смогу сделать что-то подобное, чтобы метки маркеров отображались по умолчанию, но пока я ничего не нашел при поиске в Google, или что есть другое решение.


person Paul Grenyer    schedule 04.01.2021    source источник
comment
Как насчет того, чтобы предоставить минимальный воспроизводимый пример? Что такое метка на карте (как в заголовке вашего вопроса)? Что такое метки маркеров (как в тексте вашего вопроса)? Как вы их создаете? что ты уже испробовал? и Т. Д.   -  person MrUpsidown    schedule 04.01.2021
comment
Мне кажется, вам нужен отдельный InfoWindow для каждого маркера, открытый по умолчанию. Это возможно в Google Maps Javascript API v3 (связанные вопросы: Google Maps автоматически открывает infoWindow, как открыть все infoWIndows с помощью кнопки), но я не Незнаю про флаттер. У вас будет больше шансов получить полезный ответ, если вы предоставите минимально воспроизводимый пример.   -  person geocodezip    schedule 04.01.2021
comment
Хорошо, добавлен минимальный пример. Также рассмотрим API v3.   -  person Paul Grenyer    schedule 04.01.2021
comment
Согласно проблеме github метод showMarkerInfoWindow(); может отображать только одно информационное окно на карте по очереди.   -  person jabamataro    schedule 11.01.2021