大地图地图支持各种事件监听,提供了相应的事件监听方法,具体监听接口如下:
地图状态改变相关接口:
private class MapViewGestureDetectorListener implements OnGestureListener { @Override public boolean onDown(final MotionEvent e) { return true; } @Override public boolean onFling(final MotionEvent e1, final MotionEvent e2, final float velocityX, final float velocityY) { return true; } @Override public void onLongPress(final MotionEvent e) { MapView.this.getOverlayManager().onLongPress(e, MapView.this); } @Override public boolean onScroll(final MotionEvent e1, final MotionEvent e2, final float distanceX,final float distanceY) { return true; } @Override public void onShowPress(final MotionEvent e) { MapView.this.getOverlayManager().onShowPress(e, MapView.this); } @Override public boolean onSingleTapUp(final MotionEvent e) { return false; } }
地图双击事件监听接口:
private class MapViewDoubleClickListener implements GestureDetector.OnDoubleTapListener { @Override public boolean onDoubleTap(final MotionEvent e) { if (MapView.this.getOverlayManager().onDoubleTap(e, MapView.this)) { return true; } } @Override public boolean onDoubleTapEvent(final MotionEvent e) { if (MapView.this.getOverlayManager().onDoubleTapEvent(e, MapView.this)) { return true; } return false; } @Override public boolean onSingleTapConfirmed(final MotionEvent e) { if (MapView.this.getOverlayManager().onSingleTapConfirmed(e, MapView.this)) { return true; } return false; } }
地图 Marker 覆盖物点击事件监听接口:
OnMarkerClickListener listener = new OnMarkerClickListener() { /** * 地图 Marker 覆盖物点击事件监听函数 * @param marker 被点击的 marker */ public boolean onMarkerClick(Marker marker){ } };