Guest User

Untitled

a guest
Jun 18th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. package honjo;
  2.  
  3. import java.io.IOException;
  4. import java.util.List;
  5. import java.util.Locale;
  6.  
  7. import android.content.Context;
  8. import android.location.Address;
  9. import android.location.Geocoder;
  10. import android.view.GestureDetector;
  11. import android.view.MotionEvent;
  12. import android.widget.Toast;
  13.  
  14. //import com.google.android.maps.GeoPoint;
  15. //import com.google.android.maps.MapView;
  16. //import com.google.android.maps.Overlay;
  17. import jp.co.mapion.android.maps.GeoPoint;
  18. import jp.co.mapion.android.maps.MapView;
  19. import jp.co.mapion.android.maps.Overlay;
  20.  
  21. public class ListenerOverlay extends Overlay implements
  22. GestureDetector.OnDoubleTapListener,
  23. GestureDetector.OnGestureListener {
  24.  
  25. private GestureDetector gesture = new GestureDetector(this);
  26. private Context context;
  27. private MapView mapView;
  28. private Geocoder geocoder;
  29.  
  30. public ListenerOverlay(Context context, MapView mapView) {
  31. this.context = context;
  32. this.mapView = mapView;
  33. geocoder = new Geocoder(context, Locale.JAPAN);
  34. }
  35.  
  36. @Override
  37. public boolean onTouchEvent(MotionEvent e, MapView mapView) {
  38. gesture.onTouchEvent(e);
  39. return super.onTouchEvent(e, mapView);
  40. }
  41.  
  42. @Override
  43. public boolean onDoubleTap(MotionEvent e) {
  44. return false;
  45. }
  46.  
  47. @Override
  48. public boolean onDoubleTapEvent(MotionEvent e) {
  49. return false;
  50. }
  51.  
  52. @Override
  53. public boolean onSingleTapConfirmed(MotionEvent e) {
  54. return false;
  55. }
  56.  
  57. @Override
  58. public boolean onDown(MotionEvent e) {
  59. return false;
  60. }
  61.  
  62. @Override
  63. public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
  64. float velocityY) {
  65. return false;
  66. }
  67.  
  68. @Override
  69. public void onLongPress(MotionEvent e) {
  70. GeoPoint temp = mapView.getProjection()
  71. .fromPixels((int)e.getX(), (int)e.getY());
  72. double lat = temp.getLatitudeE6() / 1E6;
  73. double lon = temp.getLongitudeE6() / 1E6;
  74. try {
  75. List<Address> addressList = geocoder.getFromLocation(lat, lon, 1);
  76. Address address = addressList.get(0);
  77. StringBuilder sb = new StringBuilder();
  78. String buf;
  79. for (int i = 0; (buf = address.getAddressLine(i)) != null; i++) {
  80. sb.append("[line" + i + "]" + buf + "\n");
  81. }
  82. Toast.makeText(context, sb, Toast.LENGTH_LONG).show();
  83. } catch (IOException ioe) {
  84. ioe.printStackTrace();
  85. }
  86. }
  87.  
  88. @Override
  89. public boolean onScroll(MotionEvent e1, MotionEvent e2,
  90. float distanceX, float distanceY) {
  91. return false;
  92. }
  93.  
  94. @Override
  95. public void onShowPress(MotionEvent e) {
  96.  
  97. }
  98.  
  99. @Override
  100. public boolean onSingleTapUp(MotionEvent e) {
  101. GeoPoint temp = mapView.getProjection()
  102. .fromPixels((int)e.getX(), (int)e.getY());
  103. mapView.getController().animateTo(temp);
  104. return false;
  105. }
  106. }
Add Comment
Please, Sign In to add comment