Flutter geolocator 包在 IOS 应用程序上给出负纬度,在 Android 上给出正确坐标

Posted

技术标签:

【中文标题】Flutter geolocator 包在 IOS 应用程序上给出负纬度,在 Android 上给出正确坐标【英文标题】:Flutter geolocator package is giving negative latitude on IOS app and correct coordinates on Android 【发布时间】:2021-03-09 03:50:25 【问题描述】:
double lat;
double lon;

var position = await Geolocator.getCurrentPosition(desiredAccuracy: LocationAccuracy.high);

lat = position.longitude;
lon = position.latitude;

我正在尝试获取设备位置,并且我有相同的项目构建 iosandroid 应用程序,但对于 IOS,我获取 GPS 位置为 37.785834,-122.406417 和 android 35.6496833,139.7517317,这是正确的。

如果我更改 lat = -(position.longitude); 那么它会使 android 应用程序给出负纬度。任何避免这种情况的方法,而无需为每个应用程序设置单独的项目

【问题讨论】:

【参考方案1】:

确保您在 iOS 部分使用的是真实设备。

模拟器上显示的地理位置是一个预设值,可以通过iOS模拟器菜单修改,进入Debug -> Location -> 自定义位置。在那里您可以设置纬度和经度并相应地测试应用程序。

【讨论】:

以上是关于Flutter geolocator 包在 IOS 应用程序上给出负纬度,在 Android 上给出正确坐标的主要内容,如果未能解决你的问题,请参考以下文章

为啥 HTTP 包在 Flutter web 中不起作用?

未找到 Flutter 插件“geolocator-Swift.h”文件

Flutter:Geolocator返回方法'compareTo'在null上被调用

Flutter:使用 geolocation 包的 getPermission 函数中的位置参数太多

Flutter Geolocator 显示方法 toDouble() 在 null 上被调用

使用 geolocator 和 provider 以及 flutter_maps 获取位置