如何在Flutter应用中使用flutter_map插件更新相机位置

3

以下是 Flutter 地图的代码:

void showFlutterMap(){
  return new FlutterMap(
    options: new MapOptions(
      center: new LatLng(51.5, -0.09),
      zoom: 13.0,
    ),
    layers: [
      new TileLayerOptions(
        urlTemplate: "https://api.tiles.mapbox.com/v4/"
            "{id}/{z}/{x}/{y}@2x.png?access_token={accessToken}",
        additionalOptions: {
          'accessToken': '<PUT_ACCESS_TOKEN_HERE>',
          'id': 'mapbox.streets',
        },
      ),
      new MarkerLayerOptions(
        markers: [
          new Marker(
            width: 80.0,
            height: 80.0,
            point: new LatLng(51.5, -0.09),
            builder: (ctx) =>
            new Container(
              child: new FlutterLogo(),
            ),
          ),
        ],
      ),
    ],
  );
}
2个回答

3

在FlutterMap小部件中,您可以添加一个MapController(在您的应用程序中定义)

MapController _mapctl = MapController();
...
void showFlutterMap(){
return new FlutterMap(
   mapController: _mapctl,
   ...
   );
 }

然后您需要搬到新位置

latlng = LatLng(coordinates_you_want);
double zoom = 4.0; //the zoom you want 
_mapctl.move(latlng,zoom);

1
我知道已经有一段时间了,但是为了在flutter_map中更改地图中心,您只需要更改MapOptions的center属性的值。它是一个LatLng对象,接受纬度和经度。
  options: new MapOptions(
      center: new LatLng(51.5, -0.09),
      zoom: 13.0,
    ),

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接