Как разделить позиции карты Google при увеличении?

#flutter #google-maps #position

#flutter #google-карты #положение

Вопрос:

Я использую карту Google для отображения нескольких местоположений на карте.

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

когда я увеличиваю масштаб до точки, я хотел бы показать фактические позиции.

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

Есть ли в картах Google настройка для автоматической обработки этого?

Или для этого есть плагин?

Ответ №1:

Получил мою информацию отсюда

https://github.com/flutter/flutter/issues/31846

Идея, я думаю, заключается в том, чтобы проверить уровень масштабирования _onGeoChanged и показать данные соответственно.

     class GeoSelectorWidget extends StatelessWidget {
  Completer<GoogleMapController> _controller = Completer();

  void _onGeoChanged(CameraPosition position) {
    print("position: "   position.target.toString());
    print("zoom: "   position.zoom.toString());
    //HERE
    //if zoom>3 {show X}elseif
    //zoom>5 {show Y} 
  }

  void _onMapCreated(GoogleMapController controller) {
    _controller.complete(controller);
  }

  @override
  Widget build(BuildContext context) {
    return GoogleMap(
      onMapCreated: _onMapCreated,
      initialCameraPosition: CameraPosition(
        target: initGeo,
        zoom: initZoom,
      ),
      onCameraMove: _onGeoChanged,
    );
  }
}