如何通过在开放的街道地图中点击它来获取点的坐标?
尝试:
public void onClick(View v) { Projection proj = mapView.getProjection(); IGeoPoint p = proj.fromPixels(v.getX(),v.getY()); System.out.println("x: "+ v.getX() + " y: "+ v.getY()); }
干杯,
Thanasio
解决方法
使用dispatchTouchEvent()方法.它的工作原理是因为MapActivity继承了dispatchTouch事件,而不是Activity类的OnTouchEvent.
@Override public boolean dispatchTouchEvent(MotionEvent ev) { int actionType = ev.getAction(); switch (actionType) { case MotionEvent.ACTION_UP: Projection proj = mapView.getProjection(); GeoPoint loc = proj.fromPixels((int)ev.getX(),(int)ev.getY()); String longitude = Double.toString(((double)loc.getLongitudeE6())/1000000); String latitude = Double.toString(((double)loc.getLatitudeE6())/1000000); Toast toast = Toast.makeText(getApplicationContext(),"Longitude: "+ longitude +" Latitude: "+ latitude,Toast.LENGTH_LONG); toast.show(); } return super.dispatchTouchEvent(ev); }
原文地址:https://www.jb51.cc/android/316445.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。