GRPC 使用地理编码器失败

Posted

技术标签:

【中文标题】GRPC 使用地理编码器失败【英文标题】:GRPC Failed using geocoder 【发布时间】:2018-01-29 11:42:04 【问题描述】:

我正在使用安卓工作室。

点击时我正在尝试从 googlemaps 获取位置名称。

我正在使用地理编码器。

每次我点击地图上的某个地方时,标记都会出现在那里,但我无法获取城市名称,并且出现 grpc failed 错误。

我该怎么办?我用 api 23,24,25 试过了,但都没有。

我的 onMapClick 功能:

 @Override
public void onMapClick(LatLng latLng) 
    mMap.clear();
    mMap.addMarker(new MarkerOptions().position(latLng).title("Konum"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng));

    Geocoder geocoder = new Geocoder(MapsActivity.this.getBaseContext(), Locale.getDefault());

    try 
        List<Address> city = geocoder.getFromLocation(latLng.latitude,latLng.longitude,1);
        if (city != null && city.size() > 0)
            Log.i("Info",city.get(0).getLocality());
        
     catch (IOException e) 
        e.printStackTrace();
    

W/System.err: java.io.IOException: grpc failed W/System.err:在 com.example.umut.googlemapstest.MapsActivity$override.onMapClick(MapsActivity.java:127)

哪个显示

List<Address> city = geocoder.getFromLocation(latLng.latitude,latLng.longitude,1);

这段代码

【问题讨论】:

这是在模拟器上还是在实际设备上?地理编码器存在一个已知问题,无法在 android 模拟器上运行。 是的,我正在使用 android studio 模拟器。我没有真正的 android 设备。有其他选择吗? 不幸的是,目前没有针对模拟器的任何解决方法。 你运气好吗?我在摩托罗拉设备中遇到了这个问题,它在模拟器上运行良好。 我相信现在应该修复它在模拟器上不起作用的问题。 【参考方案1】:

我有异常“java.io.ioexception grpc failed”的解决方案:

try 
    Geocoder geocoder = new Geocoder(MainActivity.this, Locale.getDefault());
    List addresses = geocoder.getFromLocation(latitude, longitude, 1); 
    List<Address> addresslist = addresses;
    String address = addresslist.get(0).getAddressLine(0);
    Log.d("add",address);
 catch (IOException e) 
    e.printStackTrace();

【讨论】:

以上是关于GRPC 使用地理编码器失败的主要内容,如果未能解决你的问题,请参考以下文章

Android grpc 失败异常

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

谷歌地理编码和邮政编码查找失败

CLGeocoder 反向地理编码失败,错误域=NSURLErrorDomain 代码=-1000 -

怎么将外部获取的经纬度添加到tableau中

使用FME进行地理编码转换