当我尝试使用地理编码器获取地址时,给出“未处理的异常:PlatformException(失败,失败,null)”的运行时错误

Posted

技术标签:

【中文标题】当我尝试使用地理编码器获取地址时,给出“未处理的异常:PlatformException(失败,失败,null)”的运行时错误【英文标题】:when I try to get address using geocoder, given a run time error of "Unhandled Exception: PlatformException(failed, Failed, null)" 【发布时间】:2020-08-12 17:04:28 【问题描述】:

我尝试使用“地理定位和地理编码”的 dart 插件获取位置。但代码给出了“Unhandled Exception: PlatformException(failed, Failed, null)”的错误。我该如何克服它?

import 'package:geolocator/geolocator.dart';
import 'package:geocoder/geocoder.dart';

Future<String> getCurrentLocation() async 
  final location = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);
  String latitude =(location.latitude).toString();
  String longitude = (location.longitude).toString();
  String _center = latitude + "," + longitude;
  print(_center);
  final coordinates = await new Coordinates(location.latitude, location.longitude);
  var addresses = await Geocoder.local.findAddressesFromCoordinates(coordinates);

  var first = addresses.first;
  print("$first.featureName : $first.addressLine");
  return _center;

【问题讨论】:

试试这个https://www.digitalocean.com/community/tutorials/flutter-geolocator-plugin 我试试这些教程。但代码给出了同样的错误。错误 - “PlatformException(ERROR_GEOCODING_COORDINATES,服务不可用,null)” “服务不可用”表示在坐标转换过程中发生了 IOException。根据我们使用的底层 android SDK,这意味着“如果网络不可用或发生任何其他 I/O 问题,则会引发 IOException。尝试重新启动手机并运行flutter clean,然后再试一次。确保定位服务是开启 非常感谢,莫比乌斯·布莱克,你是对的。这个对我有用。 ?????? 没有提及....????@Dilrukshika Rajapakshe 【参考方案1】:

添加您的 apikey,它将起作用:

 var addresses = await Geocoder.google ( '<---------YOUR APIKEY-------->' ).findAddressesFromCoordinates(coordinates);

【讨论】:

【参考方案2】:

您需要在 Google Cloud Platform 中创建一个密钥并为其启用 Geocoder API

用途:

await Geocoder.google(your_API_Key).findAddressesFromCoordinates(coordinates);

代替:

await Geocoder.local.findAddressesFromCoordinates(coordinates);

【讨论】:

以上是关于当我尝试使用地理编码器获取地址时,给出“未处理的异常:PlatformException(失败,失败,null)”的运行时错误的主要内容,如果未能解决你的问题,请参考以下文章

如何准确地从 Eircode/邮政编码获取地理位置

未使用 Google 地理编码服务找到地址

GeoCoder 使用地址获取经度和纬度

Google Maps API 地理编码 <> 静态地图?

使用前向地理编码获取iOS中许多地址的纬度和经度时如何添加延迟?

python中的地理编码使用API​​密钥从地址获取纬度和经度