地理编码器getFromLocation失败。

5

我想从坐标获取地标信息。

我正在使用 geoLocator 进行操作。今天早上还能正常工作,但现在抛出了平台异常。

PlatformException(IO_ERROR, A network error occurred trying to lookup the supplied coordinates (latitude: <lat>, longitude: <long>)., null)

显示是网络错误,但我的设备已连接到互联网。

起初,我认为可能是Geolocator包中出现了一些问题,因此我使用了Geocoding包,但问题仍然存在。

这是来自地理编码器的错误。

Geocoder getFromLocation --- mService = android.location.ILocationManager$Stub$Proxy@e8c2197, ex = grpc failed, return results = []

请帮忙。


你解决了吗? - Marc Quebrar Tan
这些答案中有没有回答你的问题? - GrahamD
8个回答

7

请查看flutter_geocoding问题(closed): https://github.com/Baseflow/flutter-geocoding/issues/23

提供了两种解决方案:

  1. 创建一个新的模拟器
  2. 停止模拟器上的WiFi,重新启动WiFi并让其找到网络(AndroidWiFi)

对我而言,解决方案2起作用了。


2
谢谢,解决方案2对我也起作用了。 - mr.Penguin

7
尝试添加 "localeIdentifier" 参数,这对我有效。我的函数代码如下:
List<Placemark> newPlace = await GeocodingPlatform.instance.placemarkFromCoordinates(position.latitude, position.longitude,localeIdentifier: "en");

6

尝试在您的模拟器上擦除数据。

然后重新启动。

它会起作用的。


2

我有同样的问题。 尝试使用另一个模拟器(创建另一个模拟器,就像您使用另一个安卓或iOS设备一样)。 也许当前被模拟的设备在连接互联网方面存在问题。


2

如果您使用的是外部设备,比如安卓手机,那么主要原因是您的设备位置发生了变化。您需要重新启动设备,这样它就可以正常工作。


0

我曾经遇到过同样的问题。
原因 - 我的模拟器内部无法连接互联网。
解决方法 - 如果你的模拟器无法连接互联网,可以在虚拟设备管理器中进行冷重置,然后再次检查。

这个方法解决了我的问题。


0
尝试停止模拟器,然后在终端中运行"flutter clean",然后再进行调试,这样就可以解决问题了。不需要移除模拟器。

-1

不确定问题出在哪里,但我最终创建了一个新的Android模拟器(一个新的模拟设备),它可以正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接