Как я могу узнать текущее расстояние от Земли на карте? - PullRequest
0 голосов
/ 26 мая 2020

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

    _mapController.camera
      .lookAtPointWithDistance(coordinates, distanceInMetersFromPosition);

Проблема в том, что пользователь может увеличивать или уменьшать масштаб, а затем перемещаться, и как только положение изменяется, фрагмент кода запускается снова. Итак, мой вопрос:

Есть ли обратный вызов для изменения distanceInMetersFromPosition или я могу каким-то образом получить текущее distanceInMetersFromPosition или масштабирование? Я не нашел пока документации по этому поводу.

Я использую «HERE SDK for Flutter (explore Edition) - Version 4.3.2.0».

1 Ответ

1 голос
/ 26 мая 2020

camera содержит информацию о текущем состоянии. Вы можете вызвать следующее:

double distanceInMetersFromPosition = _mapController.camera.state.distanceToTargetInMeters;

В качестве альтернативы вы можете использовать lookAtPoint(coordinates), когда вы просто хотите обновить местоположение без изменения масштаба. Если вас интересуют обратные вызовы, вы можете прикрепить наблюдателя к камере с помощью addObserver(MapCameraObserver observer). Это будет уведомлять вас всякий раз, когда пользователь масштабирует или перемещает карту.

...