作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 flutter 打传单。我建立了标记生成器以使它们动态移动。
我有一个按钮可以使 map 以我确定的坐标为中心。
这是创建 map 的小部件。
Widget _initMap(BuildContext context){
return Stack(
children: <Widget>[
new FlutterMap(
options: MapOptions(
minZoom: _minzoom,
maxZoom: _maxzoom,
center: LatLng(mylatitude,mylongitude),
),
layers: [
new TileLayerOptions(
urlTemplate:
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
subdomains: ['a', 'b', 'c']),
new MarkerLayerOptions(
markers: _generateMarker(context)
),
]
),
Align(
alignment: Alignment.bottomRight,
child: Padding(
padding: EdgeInsets.all(20.0),
child: new FloatingActionButton(
onPressed: (){_initMap(context);},
child: Icon(Icons.gps_fixed),
),
),
),
],
);
}
最佳答案
您必须将MapController传递给Flutter FlutterMap小部件,并在onPressed中触发 Controller 的.move()
方法。
当您单击FAB时,以下代码可让您从初始中心移动到埃菲尔铁塔。只需在应用启动时或需要的时候初始化 map 。
MapController _mapController = MapController();
Widget _initMap(BuildContext context){
return Stack(
children: <Widget>[
new FlutterMap(
mapController: _mapController,
options: MapOptions(
minZoom: _minzoom,
maxZoom: _maxzoom,
center: LatLng(mylatitude,mylongitude),
),
layers: [
new TileLayerOptions(
urlTemplate:
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
subdomains: ['a', 'b', 'c']),
new MarkerLayerOptions(
markers: _generateMarker(context)
),
]
),
Align(
alignment: Alignment.bottomRight,
child: Padding(
padding: EdgeInsets.all(20.0),
child: new FloatingActionButton(
onPressed: (){
_mapController.move(LatLng(48.8587372,2.2945457), 13);
},
child: Icon(Icons.gps_fixed),
),
),
),
],
);
}
关于android - 如何在Flutter中设置Center()传单 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58746679/
我是一名优秀的程序员,十分优秀!