Проблема с получением текущего положения камеры в google_maps_flutter - PullRequest
2 голосов
/ 12 июля 2020

Я новичок во Flutter, и у меня возникла проблема с плагином Google Maps. Я просмотрел несколько руководств, чтобы узнать текущее положение камеры, и большинство из них использовали GoogleMapController.cameraPosition.target . Думаю, они удалили этот метод из контроллера (так как он все еще находится в стадии разработки). Есть ли другой способ узнать текущее положение камеры?

1 Ответ

1 голос
/ 22 июля 2020

Если вы используете пакет google_maps_flutter:

Виджет GoogleMap имеет функцию onCameraMove, которая возвращает CameraPosition при перетаскивании карты или перемещении камеры.

Для этого вам нужно создать функцию обратного вызова с именем _getCameraPosition(CameraPosition cameraPosition, которая будет вызываться при вызове onCameraMove. Например:

void _getCameraPosition(CameraPosition cameraPosition) {
   // You can do whatever you want with cameraPosition here
   log("cameraPosition: " + cameraPosition.target.toString());
}

Затем вам нужно поместить функцию _getCameraPosition в поле onCameraMove виджета GoogleMap, например:

GoogleMap(
   onCameraMove: _getCameraPosition,    // pass it here
   onMapCreated: _onMapCreated,
   initialCameraPosition: CameraPosition(
       target: LatLng(-33.86882, 151.209296),
       zoom: 12,
   ),
 ),

Как в результате вы получите значение LatLng в консоли отладки. Например:

cameraPosition: LatLng(-33.8940124943736, 151.2027569487691)
...