Как ограничить просмотр карты Google, используя идентификатор места? - PullRequest
0 голосов
/ 06 апреля 2020

Можно ли ограничить просмотр карты Google с помощью идентификатора места? (Город)

увеличить и просмотреть и получить только ограниченный просмотр в широте и ширине.

GoogleMap(
      mapType: MapType.normal,
      initialCameraPosition: cameraPosition,
      onMapCreated: (GoogleMapController controller) {
      },
    );

1 Ответ

0 голосов
/ 06 апреля 2020

Вы можете установить границы и анимировать камеру с помощью контроллера, например:

LatLngBounds getLatLngBounds() {
    //this.points is a List<LatLng> representing vertex of a polygon, it could be a city.
    var maxLat = this.points.map((latlng) => latlng.latitude).reduce(max);
    var maxLng = this.points.map((latlng) => latlng.longitude).reduce(max);
    var minLat = this.points.map((latlng) => latlng.latitude).reduce(min);
    var minLng = this.points.map((latlng) => latlng.longitude).reduce(min);

    return LatLngBounds(
        northeast: LatLng(maxLat, maxLng), southwest: LatLng(minLat, minLng));
  }

Чтобы анимировать камеру:

...
onMapCreated: (GoogleMapController controller) async {
              try {
                controller.animateCamera(
                    CameraUpdate.newLatLngBounds(getLatLngBounds(), 50)
              } on Exception catch (e) {
                print(e);
              }
            },
...

Это решение требует, чтобы вы получили полигон из который указывает c идентификатор места.

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