Search in sources :

Example 6 with Marker

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

the class MapFragment method setSubHeading.

private void setSubHeading(Marker marker) {
    SpannableStringBuilder result = new SpannableStringBuilder("");
    result.append(marker.getName());
    if (marker instanceof Room) {
        Room room = (Room) marker;
        String tag = room.tag;
        if (!"Inside".equals(tag)) {
            tag += ",";
        } else {
            tag = "in";
        }
        Marker parent = data.get(room.parentKey);
        final String parentKey = parent.getName();
        String parentName = parent.getName();
        if (!parent.getShortName().equals("0"))
            parentName = parent.getShortName();
        result.append(" - " + tag + " ");
        int start = result.length();
        result.append(parentName);
        int end = result.length();
        result.append(" ");
        ClickableSpan parentSpan = new ClickableSpan() {

            @Override
            public void onClick(View widget) {
                editText.setText(parentKey);
                dismissCard();
                displayMap();
            }

            @Override
            public void updateDrawState(TextPaint p) {
                p.setColor(Color.rgb(19, 140, 190));
                p.setUnderlineText(true);
            }
        };
        result.setSpan(parentSpan, start, end, SpannableStringBuilder.SPAN_INCLUSIVE_INCLUSIVE);
        ClickableSpan restSpan1 = new ClickableSpan() {

            private TextPaint ds;

            @Override
            public void onClick(View widget) {
                updateDrawState(ds);
                widget.invalidate();
            // newCardTouchListener.toggleExpansion();
            }

            @Override
            public void updateDrawState(TextPaint ds) {
                ds.bgColor = Color.TRANSPARENT;
                ds.setUnderlineText(false);
                this.ds = ds;
            }
        };
        ClickableSpan restSpan2 = new ClickableSpan() {

            private TextPaint ds;

            @Override
            public void onClick(View widget) {
                updateDrawState(ds);
                widget.invalidate();
            // newCardTouchListener.toggleExpansion();
            }

            @Override
            public void updateDrawState(TextPaint ds) {
                ds.bgColor = Color.TRANSPARENT;
                ds.setUnderlineText(false);
                this.ds = ds;
            }
        };
        result.setSpan(restSpan1, 0, start, SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
        result.setSpan(restSpan2, end, end + 1, SpannableStringBuilder.SPAN_EXCLUSIVE_EXCLUSIVE);
        placeSubHeadTextView.setMovementMethod(LinkMovementMethod.getInstance());
        // placeSubHeadTextView.setHighlightColor(Color.TRANSPARENT);
        placeSubHeadTextView.setOnClickListener(null);
    } else {
        placeSubHeadTextView.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
            // newCardTouchListener.toggleExpansion();
            }
        });
    }
    placeSubHeadTextView.setText(result);
}
Also used : Marker(com.mrane.data.Marker) Room(com.mrane.data.Room) ClickableSpan(android.text.style.ClickableSpan) ImageView(android.widget.ImageView) SubsamplingScaleImageView(com.mrane.zoomview.SubsamplingScaleImageView) View(android.view.View) AdapterView(android.widget.AdapterView) TextView(android.widget.TextView) ListView(android.widget.ListView) CampusMapView(com.mrane.zoomview.CampusMapView) ExpandableListView(android.widget.ExpandableListView) SpannableStringBuilder(android.text.SpannableStringBuilder) TextPaint(android.text.TextPaint) TextPaint(android.text.TextPaint)

Example 7 with Marker

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

the class MapFragment method reCenterMarker.

private void reCenterMarker() {
    Marker marker = campusMapView.getResultMarker();
    reCenterMarker(marker);
}
Also used : Marker(com.mrane.data.Marker)

Example 8 with Marker

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

the class CampusMapView method onDraw.

@Override
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);
    // setup.
    if (!isImageReady()) {
        return;
    }
    for (Marker marker : markerList) {
        if (isInView(marker.getPoint())) {
            if (isShowPinScale(marker) && !(isResultMarker(marker) || addedMarkerList.contains(marker)) && shouldShowUp(marker)) {
                drawPionterAndText(canvas, marker);
            }
        }
    }
    for (Marker marker : addedMarkerList) {
        if (isInView(marker.getPoint()) && !isResultMarker(marker)) {
            drawMarkerBitmap(canvas, marker);
            drawMarkerText(canvas, marker);
        }
    }
    Marker marker = getResultMarker();
    if (marker != null) {
        if (isInView(marker.getPoint())) {
            drawMarkerBitmap(canvas, marker);
            drawMarkerText(canvas, marker);
        }
    }
}
Also used : Marker(com.mrane.data.Marker)

Example 9 with Marker

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

the class CampusMapView method getNearestMarker.

private Marker getNearestMarker(PointF touchPoint) {
    Marker resultMarker = null;
    float minDist = 100000000f;
    for (Marker marker : markerList) {
        PointF point = marker.getPoint();
        float dist = (float) calculateDistance(point, touchPoint);
        if (dist < minDist && isMarkerVisible(marker)) {
            minDist = dist;
            resultMarker = marker;
        }
    }
    return resultMarker;
}
Also used : PointF(android.graphics.PointF) Marker(com.mrane.data.Marker)

Example 10 with Marker

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

the class FuzzySearchAdapter method filter.

public void filter(String charText) {
    turnOnResidences = false;
    charText = charText.toLowerCase(Locale.getDefault());
    searchedText = charText;
    resultlist.clear();
    map.clear();
    if (charText.length() == 0) {
        if (settingsManager.showResidences()) {
            resultlist.addAll(inputlist);
        } else {
            for (Marker m : inputlist) {
                if (m.getGroupIndex() != Marker.RESIDENCES) {
                    resultlist.add(m);
                }
            }
        }
    } else if (charText.length() > 10) {
        for (Marker m : inputlist) {
            if (m.getName().toLowerCase(Locale.getDefault()).contains(charText)) {
                if (settingsManager.showResidences()) {
                    resultlist.add(m);
                } else {
                    if (m.getGroupIndex() != Marker.RESIDENCES) {
                        resultlist.add(m);
                    } else {
                        turnOnResidences = true;
                    }
                }
            }
        }
    } else {
        for (Marker m : inputlist) {
            int score = checkModifyMarker(m, charText);
            if (score != 0) {
                if (settingsManager.showResidences()) {
                    map.add(new ScoredMarker(score, m));
                } else {
                    if (m.getGroupIndex() != Marker.RESIDENCES) {
                        map.add(new ScoredMarker(score, m));
                    } else {
                        turnOnResidences = true;
                    }
                }
            }
        }
        resultlist = sortByScore(map);
    }
    if (resultlist != null && resultlist.size() > 16) {
        resultlist = resultlist.subList(0, 15);
    }
    notifyDataSetChanged();
}
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