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();
}
}
}
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);
}
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);
}
}
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);
}
});
}
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);
}
Aggregations