Search in sources :

Example 1 with Marker

use of com.mrane.data.Marker in project IITB-App by wncc.

the class MapFragment method displayMap.

public void displayMap() {
    // check if is Image ready
    if (!campusMapView.isImageReady()) {
        Message msg = mHandler.obtainMessage(MSG_DISPLAY_MAP);
        mHandler.sendMessageDelayed(msg, DELAY_INIT_LAYOUT);
    } else {
        // get text from auto complete text box
        String key = editText.getText().toString();
        // get Marker object if exists
        Marker marker = data.get(key);
        // display and zoom to marker if exists
        if (marker != null) {
            showCard(marker);
            Message msg = mHandler.obtainMessage(MSG_ANIMATE, key);
            mHandler.sendMessageDelayed(msg, cardSlideListener.isPanelOpen() ? DELAY_ANIMATE_SHORT : DELAY_ANIMATE);
        } else {
            campusMapView.setResultMarker(null);
            this.dismissCard();
            campusMapView.invalidate();
        }
    }
}
Also used : Message(android.os.Message) Marker(com.mrane.data.Marker)

Example 2 with Marker

use of com.mrane.data.Marker in project IITB-App by wncc.

the class MapFragment method showResultOnMap.

private void showResultOnMap(String key) {
    Marker marker = data.get(key);
    showCard(marker);
    campusMapView.setAndShowResultMarker(marker);
}
Also used : Marker(com.mrane.data.Marker)

Example 3 with Marker

use of com.mrane.data.Marker in project IITB-App by wncc.

the class CampusMapView method onImageReady.

@Override
protected void onImageReady() {
    if (isFirstLoad) {
        Runnable runnable = new Runnable() {

            public void run() {
                // Center marker on start
                Marker centerMarker = null;
                // Iterate all markers
                if (getInitialMarkerName() != null) {
                    for (Marker m : markerList) {
                        if (MapFragment.getPassableName(m.getShortName()).equals(getInitialMarkerName())) {
                            centerMarker = m;
                            break;
                        }
                    }
                }
                // If a marker is to be centered
                if (centerMarker != null) {
                    setAndShowResultMarker(centerMarker);
                } else {
                    AnimationBuilder anim;
                    anim = animateScaleAndCenter(getTargetMinScale(), MapFragment.MAP_CENTER);
                    anim.withDuration(MapFragment.DURATION_INIT_MAP_ANIM).start();
                }
                // Don't do this again
                isFirstLoad = false;
            }
        };
        mainActivity.getActivity().runOnUiThread(runnable);
    }
}
Also used : Marker(com.mrane.data.Marker)

Example 4 with Marker

use of com.mrane.data.Marker in project IITB-App by wncc.

the class CampusMapView method setGestureDetector.

private void setGestureDetector() {
    final GestureDetector gestureDetector = new GestureDetector(mainActivity.getContext(), new GestureDetector.SimpleOnGestureListener() {

        @Override
        public boolean onSingleTapConfirmed(MotionEvent e) {
            if (isImageReady()) {
                PointF sCoord = viewToSourceCoord(e.getX(), e.getY());
                Marker marker = getNearestMarker(sCoord);
                mainActivity.editText.setText(isMarkerInTouchRegion(marker, sCoord) ? marker.getName() : "");
                mainActivity.displayMap();
            }
            return true;
        }
    });
    setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            final float targetMinScale = getTargetMinScale();
            int action = motionEvent.getAction();
            if (action == MotionEvent.ACTION_DOWN) {
                if (motionEvent.getX() < 20 * density) {
                    getParent().requestDisallowInterceptTouchEvent(false);
                    return true;
                }
            } else if (action == MotionEvent.ACTION_UP) {
                CampusMapView.this.setPanEnabled(true);
            }
            if (targetMinScale > getScale()) {
                callSuperOnTouch(motionEvent);
                if (action == MotionEvent.ACTION_UP) {
                    Runnable anim = getScaleAnim(targetMinScale);
                    if (isImageReady())
                        anim.run();
                }
                return true;
            }
            return gestureDetector.onTouchEvent(motionEvent);
        }
    });
}
Also used : PointF(android.graphics.PointF) GestureDetector(android.view.GestureDetector) Marker(com.mrane.data.Marker) View(android.view.View) MotionEvent(android.view.MotionEvent)

Example 5 with Marker

use of com.mrane.data.Marker in project IITB-App by wncc.

the class CampusMapView method addMarker.

public void addMarker() {
    Marker m = getResultMarker();
    addMarker(m);
}
Also used : Marker(com.mrane.data.Marker)

Aggregations

Marker (com.mrane.data.Marker)10 PointF (android.graphics.PointF)2 View (android.view.View)2 Message (android.os.Message)1 SpannableStringBuilder (android.text.SpannableStringBuilder)1 TextPaint (android.text.TextPaint)1 ClickableSpan (android.text.style.ClickableSpan)1 GestureDetector (android.view.GestureDetector)1 MotionEvent (android.view.MotionEvent)1 AdapterView (android.widget.AdapterView)1 ExpandableListView (android.widget.ExpandableListView)1 ImageView (android.widget.ImageView)1 ListView (android.widget.ListView)1 TextView (android.widget.TextView)1 Room (com.mrane.data.Room)1 CampusMapView (com.mrane.zoomview.CampusMapView)1 SubsamplingScaleImageView (com.mrane.zoomview.SubsamplingScaleImageView)1