/** 判断当前位置位于哪个校区 */ private void judge_position() { if (mLocation.getLatitude() < 36.648152 && mLocation.getLongitude() > 117.068195 && mLocation.getLatitude() > 36.642666 && mLocation.getLongitude() < 117.080217) { flag = 2; // 燕山校区 } else if (mLocation.getLatitude() < 36.66187 && mLocation.getLongitude() > 117.501132 && mLocation.getLatitude() > 36.651857 && mLocation.getLongitude() < 117.520319) { flag = 0; // 明水校区 } else if (mLocation.getLatitude() < 36.674867 && mLocation.getLongitude() > 117.370944 && mLocation.getLatitude() > 36.665148 && mLocation.getLongitude() < 117.380147) { flag = 1; // 圣井校区 } else if (mLocation.getLatitude() < 36.631209 && mLocation.getLongitude() > 117.019616 && mLocation.getLatitude() > 36.619802 && mLocation.getLongitude() < 117.026629) { flag = 3; // 舜耕校区 } mMap.clear(); this.flipper.setDisplayedChild(flag); mMap.animateCamera( CameraUpdateFactory.newLatLngZoom(position_schoolLatLngs[flag], zoom_current)); startTextView.setText(null); endTextView.setText(null); isClickStart = true; isClickTarget = false; loadMap(flag + 2, true); }
/** 实现左右滑动切换校区 */ @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { float zoom = 17; if (e1.getX() - e2.getX() > 100) { if (flag < position_schoolLatLngs.length - 1) { flag++; } else { flag = 0; } this.flipper.setInAnimation( AnimationUtils.loadAnimation(this.getActivity(), R.anim.push_left_in)); this.flipper.setOutAnimation( AnimationUtils.loadAnimation(this.getActivity(), R.anim.push_left_out)); } else if (e1.getX() - e2.getX() < -100) { if (flag > 0) { flag--; } else { flag = position_schoolLatLngs.length - 1; } this.flipper.setInAnimation( AnimationUtils.loadAnimation(this.getActivity(), R.anim.push_right_in)); this.flipper.setOutAnimation( AnimationUtils.loadAnimation(this.getActivity(), R.anim.push_right_out)); } mMap.clear(); loadMap(flag + 2, true); mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(position_schoolLatLngs[flag], zoom)); this.flipper.setDisplayedChild(flag); return false; }
/** 单击下方ViewFlipper回到校区中心点 */ @Override public boolean onSingleTapUp(MotionEvent e) { mMap.clear(); startTextView.setText(null); endTextView.setText(null); mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(position_schoolLatLngs[flag], 17)); isClickStart = true; isClickTarget = false; loadMap(flag + 2, true); return true; }
/** 设置地图 */ private void setUpMap() { mMap.setOnMarkerClickListener(this); // 设置点击marker事件监听器 mMap.setInfoWindowAdapter(this); mMap.setOnInfoWindowClickListener(this); // 设置点击infoWindow事件监听器 mMap.setOnMapLoadedListener(this); // 设置map载入成功事件监听器 mMap.setOnCameraChangeListener(this); routeSearch = new RouteSearch(getActivity()); routeSearch.setRouteSearchListener(this); setLocation(); mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(position_schoolLatLngs[0], 17.904732f)); startTextView = (AutoCompleteTextView) schoolView.findViewById(R.id.autotextview_roadsearch_start); startTextView.setFocusable(false); endTextView = (AutoCompleteTextView) schoolView.findViewById(R.id.autotextview_roadsearch_goals); endTextView.setFocusable(false); routeSearchImagebtn = (ImageButton) schoolView.findViewById(R.id.imagebtn_roadsearch_search); routeSearchImagebtn.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { strStart = startTextView.getText().toString().trim(); strEnd = endTextView.getText().toString().trim(); if (strStart == null || strStart.length() == 0) { Toast.makeText(getActivity(), "请选择起点", Toast.LENGTH_SHORT).show(); return; } if (strEnd == null || strEnd.length() == 0) { Toast.makeText(getActivity(), "请选择终点", Toast.LENGTH_SHORT).show(); return; } if (startPoint != null && endPoint != null) { if (NetworkUtils.isConnect(getActivity())) { progDialog = ProgressDialog.show(getActivity(), null, "正在搜索", true, true); searchRoute(); } else { Toast.makeText(getActivity(), "亲,请检查网络连接", Toast.LENGTH_SHORT).show(); } // searchRouteResult(startPoint, endPoint); } } }); }