【问题标题】:Get location in HuaweiMap flutter在HuaweiMap flutter中获取位置
【发布时间】:2023-01-20 19:46:29
【问题描述】:

在我的应用程序中,我使用华为地图。我想要获取位置,但 locationService 返回 Location 以及所有可为空的属性。

我不知道我做错了什么。

获取位置的代码:

      var permissionHandler = PermissionHandler();
      var status = await permissionHandler.hasLocationPermission();
      if (!status) {
        return null;
      }
      var locationService = FusedLocationProviderClient();
      var locationRequest = LocationRequest();
      locationRequest.interval = 5000;
      var locationSettingsRequest = LocationSettingsRequest(
        requests: [LocationRequest()],
        alwaysShow: true,
        needBle: false,
      );
      var locationSettingState = await locationService.checkLocationSettings(locationSettingsRequest);

      if (locationSettingState.locationPresent) {
        await locationService.getLastLocation().then((_locationData) async {
          print("Location: $_locationData");
        }).catchError((onError) {
          print(onError);
        });
      }

打印输出: Location: Location(provider: null, latitude: null, longitude: null, altitude: null, speed: null, bearing: null, horizontalAccuracyMeters: null, verticalAccuracyMeters: null, speedAccuracyMetersPerSecond: null, bearingAccuracyDegrees: null, time: null, elapsedRealtimeNanos: null)

【问题讨论】:

  • 您能否分享详细的日志信息和测试设备?华为地图不提供Location接口。可以集成huawei_location
  • 此外,您可能使用了错误的 API。 locationService.getLastLocation 用于获取最后位置。您可以使用requestLocationUpdates 不断请求位置更新。
  • 我解决了这个。我不使用await locationService.requestLocationUpdates(locationRequest) <- 这个重新加载位置和返回坐标

标签: android flutter dart huawei-map-kit


【解决方案1】:

您在应用程序库连接中注册了吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2019-05-01
    • 2020-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-09-10
    • 2020-05-29
    相关资源
    最近更新 更多