получить снимок данных с широтой местоположения долготы - PullRequest
0 голосов
/ 01 апреля 2020

Мне удалось получить данные из firestore с помощью этого кода:

return new Scaffold(
  body: Column(
    children: <Widget>[
      StreamBuilder(
            stream: Firestore.instance.collection("location").snapshots(),
            builder: (context, snapshot) {
              if (!snapshot.hasData)
                return Text("Loading Data.. Please Wait");
                return  
                  Container(
                    child: GoogleMap(
                      mapType: MapType.normal,
                      initialCameraPosition: CameraPosition(
                        target: LatLng("${snapshot.data.documents[0]['latitude']}", "${snapshot.data.documents[0]['longitude']}"),
                        zoom: 12.0
                      ),
                      onMapCreated: (GoogleMapController controller) {
                        _controller.complete(controller);
                      },
                    ),
                );
            },
          ),
    ],
  ),
);

, но я не совсем понимаю, как поместить значение в LatLng (ошибка здесь ), то есть ошибка. Кто-нибудь есть идея для этой проблемы, спасибо за вашу помощь.

1 Ответ

1 голос
/ 01 апреля 2020

Из документации google_maps я вижу, что вы должны передать 2 двойных значения конструктору LatLng. Попробуйте следующий код:

return new Scaffold(
  body: Column(
    children: <Widget>[
      StreamBuilder(
            stream: Firestore.instance.collection("location").snapshots(),
            builder: (context, snapshot) {
              if (!snapshot.hasData)
                return Text("Loading Data.. Please Wait");
                return  
                  Container(
                    child: GoogleMap(
                      mapType: MapType.normal,
                      initialCameraPosition: CameraPosition(
                        target: LatLng(double.parse("${snapshot.data.documents[0]['latitude']}"), double.parse("${snapshot.data.documents[0]['longitude']}")),
                        zoom: 12.0
                      ),
                      onMapCreated: (GoogleMapController controller) {
                        _controller.complete(controller);
                      },
                    ),
                );
            },
          ),
    ],
  ),
);

Разница в том, что я использовал double.parse () для преобразования ваших данных в double, а затем передал их конструктору LatLng.

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