Google Maps Flutter在iOS上地图中心异常定位至(0,0)问题求助
Google Maps Flutter在iOS上地图中心异常定位至(0,0)问题求助
各位大佬好,我现在在开发Flutter项目,用的是google_maps_flutter: 2.6.1版本,在iOS设备上碰到了个特别头疼的地图问题:Google Map组件的初始中心明明设了指定坐标,显示时却跑到了屏幕左上角;而且只要我点任何标记,或者试着用控制器移动地图,地图就直接跳转到(0,0)坐标,完全偏离预期位置。安卓端测试一切正常,就iOS出这幺蛾子。
我把自己的代码贴在下面了,麻烦各位帮我瞅瞅哪里出问题了,感激不尽!
class ClientesView extends StatelessWidget { const ClientesView({super.key}); @override Widget build(BuildContext context) { return Scaffold( backgroundColor: const Color.fromARGB(255, 239, 239, 239), appBar: AppBar( title: const DesignText('Mis clientes', color: Colors.white, fontSize: 20), backgroundColor: Colors.black, iconTheme: const IconThemeData(color: Colors.white), ), body: SizedBox( width: double.infinity, height: double.infinity, child: GoogleMap( myLocationButtonEnabled: true, myLocationEnabled: true, zoomControlsEnabled: false, mapToolbarEnabled: false, compassEnabled: false, initialCameraPosition: const CameraPosition( target: LatLng(20.3606643, -102.7808657), zoom: 15, ), onCameraMove: (position) {}, style: json.encode(uberMapTheme), onMapCreated: (controller) {}, markers: { const Marker( markerId: MarkerId('1'), position: LatLng(20.4606643, -102.8808657), infoWindow: InfoWindow(title: 'Mi negocio'), ), }, ), ), ); } }
我自己也瞎琢磨了几个可能的方向,但还没找到根源,列出来给大家参考:
- iOS配置权限问题:会不会是Info.plist里的位置权限配少了?或者Google Maps的API Key在iOS端的配置有遗漏?比如
io.flutter.embedded_views_preview有没有开成YES? - 自定义地图主题冲突:我用了
uberMapTheme自定义样式,会不会是主题JSON里的某些属性搞乱了地图布局?打算先把style属性注释掉试试,但还没来得及测。 - 组件约束传递问题:虽然用了SizedBox占满全屏,但会不会是约束没传对?比如直接把GoogleMap当Scaffold body的子组件,去掉外层SizedBox会不会好点?
- 版本兼容bug:
2.6.1版本挺老的了,会不会是这个版本和iOS系统有兼容坑?升级到最新稳定版说不定能解决?
如果各位有碰到过类似问题,或者能从代码里看出猫腻,麻烦指点一下,谢谢大家!
内容来源于stack exchange
相关产品推荐
相关产品推荐

