Note that there are some explanatory texts on larger screens.

plurals
  1. POGestureListener reacts only first time
    primarykey
    data
    text
    <p>I am getting one strange error. What I want to do is to read long touch coordinates from mapview and add Waypoint on that coordinates. Code looks like this:</p> <pre><code>package fragments; import java.util.zip.Inflater; import org.osmdroid.api.IProjection; import org.osmdroid.tileprovider.tilesource.TileSourceFactory; import org.osmdroid.util.GeoPoint; import org.osmdroid.views.MapController; import org.osmdroid.views.MapView; import org.osmdroid.views.MapView.Projection; import android.content.Intent; import android.gesture.GestureLibraries; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.view.ViewGroup; import com.gps.gpsclient.DBAccessManager; import com.gps.gpsclient.MapDrawer; import com.gps.gpsclient.R; import android.view.GestureDetector; public class MapFragment extends Fragment implements GestureDetector.OnGestureListener, GestureDetector.OnDoubleTapListener { private MapView view; private MapDrawer mainDrawer; private GestureDetector gestureScanner; private MapController mapController; public MapFragment() {} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { ViewGroup rootView = (ViewGroup) inflater.inflate( R.layout.map_fragment_layout, container, false); view = (MapView) rootView.findViewById(R.id.fragmentMapView); view.setTileSource(TileSourceFactory.MAPNIK); view.setBuiltInZoomControls(true); view.setAlwaysDrawnWithCacheEnabled(true); mapController = view.getController(); mapController.setZoom(10); GeoPoint point2 = new GeoPoint(51496994, -134733); mapController.setCenter(point2); mainDrawer=new MapDrawer(view); gestureScanner=new GestureDetector(view.getContext(),this); view.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { gestureScanner.onTouchEvent(event); return false; } }); return rootView; } @Override public void onViewStateRestored(Bundle savedInstance) { super.onViewStateRestored(savedInstance); } @Override public boolean onDoubleTap(MotionEvent arg0) { // TODO Auto-generated method stub return false; } @Override public boolean onDoubleTapEvent(MotionEvent arg0) { // TODO Auto-generated method stub return false; } @Override public boolean onSingleTapConfirmed(MotionEvent e) { // TODO Auto-generated method stub return false; } @Override public boolean onDown(MotionEvent arg0) { // TODO Auto-generated method stub return false; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // TODO Auto-generated method stub return false; } @Override public void onLongPress(MotionEvent e) { Projection projection=view.getProjection(); float x=e.getX(); float y=e.getY(); GeoPoint point=(GeoPoint)projection.fromPixels(x,y); mainDrawer.addGeopointToMap("test","test_desc",point); } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // TODO Auto-generated method stub return false; } @Override public void onShowPress(MotionEvent e) { // TODO Auto-generated method stub } @Override public boolean onSingleTapUp(MotionEvent e) { // TODO Auto-generated method stub return false; } } </code></pre> <p>The problem is that when I do first long touch, everything is fine, waypoint added ,but another times it doesn't react, it doesn't go to <code>onTouch</code> method</p> <p>I am using an osmdroid maps.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload