谷歌api中的触摸事件反向地理编码无法正常工作

时间:2012-09-24 02:18:41

标签: android google-maps geocoding

  

可能重复:
  Reverse geocoding in Android with touch event

我想将地图的纬度和经度更改为位置地址,但我无法获得结果,它会捕获异常以捕获部分并打印捕获部分的部分。这段代码是从几个教程中获得的,其中sereenshot显示了结果,但我无法得到它。它可能是什么原因,或者在api 2.2中,它是无效的。

此处为代码;

@Override public boolean onTouchEvent(MotionEvent event, MapView mapView) { //---when user lifts his finger--- if (event.getAction() == 1) { GeoPoint p = mapView.getProjection().fromPixels( (int) event.getX(), (int) event.getY()); Toast.makeText(getBaseContext(), p.getLatitudeE6() / 1E6 + "," + p.getLongitudeE6() /1E6 , Toast.LENGTH_SHORT).show();

Geocoder geoCoder = new Geocoder( getBaseContext(), Locale.getDefault()); try { List<Address> addresses = geoCoder.getFromLocation( p.getLatitudeE6()/1E6 , p.getLongitudeE6()/1E6, 1); String add = ""; if (addresses.size() > 0) { for (int i=0; i<addresses.get(0).getMaxAddressLineIndex(); i++) add += addresses.get(0).getAddressLine(i) + "\n"; } Toast.makeText(getBaseContext(), add, Toast.LENGTH_SHORT).show(); } catch (IOException e) { Toast.makeText(getBaseContext(), "uffff.... exception", Toast.LENGTH_SHORT).show(); e.printStackTrace(); } return true; } else return false; }

请帮助我完成它,我已经在它下面很长时间了。感谢提前

0 个答案:

没有答案