Google maps 授予权限后重新加载我的位置按钮 背景

Google maps 授予权限后重新加载我的位置按钮 背景,google-maps,flutter,Google Maps,Flutter,我正在使用google_maps_Flatter软件包来显示一张带有与房屋对应的标记的地图。为了避免设备过载,我只在用户看到的位置附近装载房屋。为了方便起见,我请求用户的位置,并将其提供给谷歌地图,以便显示“我的位置”按钮 问题 如果已授予位置访问权限,则它将按预期工作。如果地图已加载,“我的位置”按钮不会显示 目前,如果地图在屏幕上显示时授予了定位权限,我只需将相机移到他们的位置。这是一个不错的解决办法,但我宁愿让用户决定在哪里查找 在地图已加载的情况下授予权限时,如何加载按钮 尝试 我试着只

我正在使用google_maps_Flatter软件包来显示一张带有与房屋对应的标记的地图。为了避免设备过载,我只在用户看到的位置附近装载房屋。为了方便起见,我请求用户的位置,并将其提供给谷歌地图,以便显示“我的位置”按钮

问题 如果已授予位置访问权限,则它将按预期工作。如果地图已加载,“我的位置”按钮不会显示

目前,如果地图在屏幕上显示时授予了定位权限,我只需将相机移到他们的位置。这是一个不错的解决办法,但我宁愿让用户决定在哪里查找

在地图已加载的情况下授予权限时,如何加载按钮

尝试
  • 我试着只是设定状态
  • 手动将地图标记为脏地图
  • 使用测试方法强制贴图重新加载选项
  • 我已经检查了所有可用的方法,所以在这一点上我怀疑还有其他选择。如果是这种情况,我将报告它作为一个错误

    我的代码
    @覆盖
    小部件构建(构建上下文){
    //授予权限时加载标记。
    location.hasPermission().then((currPerm)异步{
    如果(!currPerm){
    bool newPerm=wait location.requestPermission();
    if(newPerm){
    LocationData数据=等待位置。getLocation();
    (等待mapController.future)移动摄像机(CameraUpdate.newLatLng(LatLng(data.latitude,data.longitude));
    }
    }
    });
    谷歌地图=谷歌地图(
    initialCameraPosition:CameraPosition(
    目标:初始位置,
    缩放:11.5,
    ),
    myLocationEnabled:对,
    myLocationButtonEnabled:正确,
    流量启用:正确,
    标记:标记,
    onMapCreated:(newController)=>mapController.complete(newController),
    onCameradle:()异步{
    //相机停止移动时加载标记。
    LatLngBounds bounds=await(await mapController.future).getVisibleRegion();
    装载标记(
    板条(
    (bounds.northeast.latitude+bounds.southwest.latitude)/2,
    (bounds.northeast.longitude+bounds.soutwest.longitude)/2
    ),
    );
    },
    );
    返回图;
    }
    
    谷歌地图(^0.5.23+1
    )开始,我通过给
    myLocationEnabled
    分配一个变量并在获得位置权限后更改其值来解决此问题。如果你硬编码
    true
    ,它就是不起作用

    GoogleMap=GoogleMap(
    myLocationEnabled:_IsLocationEnabled,
    ...
    
    因此,
    \u islocationgrated
    最初是
    false
    。当我获得位置权限时,我将其设置为
    true
    ,并重新生成小部件(通过调用
    setState()
    ,触发
    BlocBuilder()
    ,或您使用的任何方法)


    另一个相关参数,
    myLocationButtonEnabled:true
    ,似乎不需要此处理。

    没有代码,没有人可以回答您:'(请提供您正在谈论的代码。就这样。我希望这足够了。如果需要,我肯定可以添加额外的上下文。我认为这实际上是一个bug。没有理由不起作用。为什么不触发moveCamera,不管用户是否第一次授予权限?也许这就是为什么会显示您所使用的按钮。)你想要