反向地理编码问题

时间:2014-04-16 13:30:13

标签: javascript android google-maps geocoding

我使用标记进行反向地理编码。因此,依赖于标记位置,它将获得经度和纬度,从而从地理编码器获取地址。 问题是,在标记处的某些位置,它会得到一个错误的地址,尽管地点可能是正确的,剩下的街道'等等是不正确的,有时它根本不显示地址,TextView保留其先前的输入。

下面是我的标记拖动列表:

 public void onMarkerDragEnd(Marker marker) {


                LatLng position = marker.getPosition(); 



                 Geocoder geocoder = new Geocoder(MainActivity.this);
                 TextView textView1 = (TextView)findViewById(R.id.textView1);
                try
                 {
                         List<Address> addresses = geocoder.getFromLocation(position.latitude,position.longitude,0);
                         for(Address address : addresses)
                         {
                                 if(address.getLocality()!=null)
                                 {


                                        SubStreetNumber = address.getSubThoroughfare ();
                                        Street = address.getThoroughfare();
                                        Area = address.getSubLocality ();
                                        City = address.getLocality();
                                        PostCode = address.getPostalCode();
                                        break;
                                      }


                                 textView1.setText(SubStreetNumber + ", " + Street + ", " + City + ", " + PostCode);    

                         }

                         }

                catch(IOException ioException)
                {
                        Log.e("MyApp","Exception",ioException);
                }
            }

1 个答案:

答案 0 :(得分:1)

此代码行geocoder.getFromLocation(position.latitude,position.longitude,0);

中报告了错误

它与你的代码无关,我也遇到过这种情况。在某些设备上它可以正常运行,有些则无效,有时它可以正常工作,有时它不会在它可以工作的设备上运行。

如果你发现你的logcat中会出现一条黄线,说明它无法连接到某个服务......