Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google maps 将数据快照获取到位置纬度经度_Google Maps_Flutter_Dart_Google Cloud Firestore - Fatal编程技术网

Google maps 将数据快照获取到位置纬度经度

Google maps 将数据快照获取到位置纬度经度,google-maps,flutter,dart,google-cloud-firestore,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 (!

我使用以下代码成功从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);
                      },
                    ),
                );
            },
          ),
    ],
  ),
);
返回新脚手架(
正文:专栏(
儿童:[
StreamBuilder(
流:Firestore.instance.collection(“位置”).snapshots(),
生成器:(上下文,快照){
如果(!snapshot.hasData)
返回文本(“正在加载数据..请稍候”);
返回
容器(
孩子:谷歌地图(
mapType:mapType.normal,
initialCameraPosition:CameraPosition(
目标:LatLng(${snapshot.data.documents[0]['latitude']},“${snapshot.data.documents[0]['latitude']}”),
缩放:12.0
),
onMapCreated:(谷歌地图控制器){
_控制器。完成(控制器);
},
),
);
},
),
],
),
);
但我并不真正理解如何在LatLng中赋值(这里的错误),这就是错误。 任何人对这个问题都有想法,感谢您的帮助。

从中,我可以看出您必须向LatLng构造函数传递2个双值。 请尝试以下代码:

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);
                      },
                    ),
                );
            },
          ),
    ],
  ),
);
返回新脚手架(
正文:专栏(
儿童:[
StreamBuilder(
流:Firestore.instance.collection(“位置”).snapshots(),
生成器:(上下文,快照){
如果(!snapshot.hasData)
返回文本(“正在加载数据..请稍候”);
返回
容器(
孩子:谷歌地图(
mapType:mapType.normal,
initialCameraPosition:CameraPosition(
目标:LatLng(double.parse(${snapshot.data.documents[0]['latitude']}),double.parse(${snapshot.data.documents[0]['latitude']})),
缩放:12.0
),
onMapCreated:(谷歌地图控制器){
_控制器。完成(控制器);
},
),
);
},
),
],
),
);
不同之处在于,我使用double.parse()将数据转换为double,然后将其传递给LatLng构造函数