google-maps - 获取数据快照到位置纬度经度

标签 google-maps flutter dart google-cloud-firestore

我成功使用以下代码从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中放置值(此处为的错误),这是错误的。
任何人都有解决这个问题的想法,感谢您的帮助。

最佳答案

google_maps documentation,我可以看到您必须将2个double值传递给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构造函数。

关于google-maps - 获取数据快照到位置纬度经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60969204/

相关文章:

flutter - 学习 flutter

Flutter 避免多次运行 FutureBuilder

java - Google map api 不显示我当前的位置

android - Map Api Key 和 Google Places Api 相同吗?

javascript - 索引 :145 Uncaught TypeError: map. mapTypes.insertAt 不是函数

android - 如何在android中通过谷歌地图接收导航通知

flutter - flutter :从 flutter 应用程序构建apk失败

flutter - 将API(模型类)传递给小部件

flutter - 在 InkWell 中包装卡片时波纹效果不起作用

ios - Flutter ffmpeg_kit_flutter 无法通过视频绘制文本