Flutter GoogleMapsBlutter使用LatLngBounds将相机更新到子区域

Flutter GoogleMapsBlutter使用LatLngBounds将相机更新到子区域,flutter,google-maps,dart,gis,Flutter,Google Maps,Dart,Gis,正如标题所示,我正在尝试更新相机,使其在小部件视口的特定部分包含2个坐标,而不是将相机聚焦在整个视口上 我正在使用这个软件包这里有一个关于相机如何更新的片段: import'包:google_-maps_-flatter/google_-maps_-flatter.dart'; var markerPositions=[LatLng(-117.000,23.22),LatLng(LatLng(-116.000,2.22)); 常数cameraPadding=50.0; //返回包含标记位置的“L

正如标题所示,我正在尝试更新相机,使其在小部件视口的特定部分包含2个坐标,而不是将相机聚焦在整个视口上

我正在使用这个软件包这里有一个关于相机如何更新的片段:

import'包:google_-maps_-flatter/google_-maps_-flatter.dart';
var markerPositions=[LatLng(-117.000,23.22),LatLng(LatLng(-116.000,2.22));
常数cameraPadding=50.0;
//返回包含标记位置的“LatLngBounds”对象
var bounds=Geo.boundsFromLatLngList(标记位置);
var cameraUpdate=cameraUpdate.newLatLngBounds(边界,cameraPadding);
// ... 一些代码之后。。。
//谷歌地图控制器;
控制器.animateCamera(cameraUpdate);
相机更新工作正常,缩放级别自动设置,但它通常会导致部分坐标隐藏在浮动视图后面,非常类似于此(不介意不更新的地图背景):

现在,我想实现的是如下所示,我想显示2个坐标,并在地图小部件的子区域中更新相机;基本上是这样的:

我一直在探索这个包的API,我不认为有任何函数或方法可以直接实现这一点。我试过玩填充物,但它只会导致焦距缩小

到目前为止,我认为我的最佳选择是做如下事情:

  • 将相机更新为完整小部件视口
  • 抓取边界框的当前“X”和“Y”位置
  • 计算当前边界框的中点
  • 计算相对于XY距离向左偏移当前中点的新“目标”
  • 相对于XY和边界框调整缩放级别
  • 我不完全确定这是否是正确的方法,也不确定我的术语是否正确,但如果有其他语言或技术中的任何例子可以作为我可以推荐的起点,我很乐意看一下,或者更好的是,如果有人面对同样的问题并解决了它,如果你能分享他们的解决方案,我将不胜感激

    非常感谢

    GoogleMap(
        padding: EdgeInsets.only(right: 60),
    )
    

    调整所需的填充,这是非常简单的!我太专注于“改造”相机了,以至于忽略了最简单的解决方案。