Google maps 在谷歌地图上绘制标记
我是初学者。我的项目有点小问题。我的项目只是在谷歌地图上画制造商 这是绘制地图代码的一部分Google maps 在谷歌地图上绘制标记,google-maps,flutter,Google Maps,Flutter,我是初学者。我的项目有点小问题。我的项目只是在谷歌地图上画制造商 这是绘制地图代码的一部分 child: GoogleMap( onMapCreated: _onMapCreated, initialCameraPosition: const CameraPosition( target: LatLng(-33.852, 151.211), zoom: 2.0,
child: GoogleMap(
onMapCreated: _onMapCreated,
initialCameraPosition: const CameraPosition(
target: LatLng(-33.852, 151.211),
zoom: 2.0,
),
markers: Set<Marker>.of(markers.values),
// __addmarker(),
),
按钮代码
FlatButton(
child: const Text('add'),
onPressed: _addmarker,
),
这意味着当我按下按钮时,地图将绘制带有Lat、Lng和void的标记
没关系,但现在我想在地图上画标记,但不需要按下按钮。
我该怎么做呢?那么现在您正在添加带有按钮和功能的标记,并且希望不按按钮就添加它们
您可以在状态小部件上创建一组标记 设置标记=设置 然后你可以在你的构建方法中填充这组标记
markers.addAll([
Marker(
markerId: MarkerId('value'),
position: LatLng(37.416780, -122.077430)),
Marker(
markerId: MarkerId('value2'),
position: LatLng(37.416000, -122.077000)),
]);
集合类也有各种构造函数方法。你可以只使用一个,你不必添加它们。
然后你可以把这个填充集传递给你的谷歌地图小部件
child: GoogleMap(
onMapCreated: _onMapCreated,
myLocationEnabled: true,
initialCameraPosition:
CameraPosition(target: LatLng(0.0, 0.0)),
markers: markers,
))),
您可以创建一组标记函数,如下所示:
Future<Set<Marker>> myMarkers() async {
List<Marker> mMarkers = [];
mMarkers.add(
Marker(
markerId: MarkerId('marker1'),
position: LatLng(15.392567, 44.278188),
),
);
mMarkers.add(
Marker(
markerId: MarkerId('marker1'),
position: LatLng(15.392029, 44.278113),
),
);
return mMarkers.toSet();
}
FutureBuilder(
future: myMarkers(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
return GoogleMap(
mapType: MapType.normal,
initialCameraPosition: _kGooglePlex,
markers: snapshot.data,
);
},
),
```
FutureBuilder(
future: myMarkers(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
return GoogleMap(
mapType: MapType.normal,
initialCameraPosition: _kGooglePlex,
markers: snapshot.data,
);
},
),
```