运单详情添加车辆当前位置

This commit is contained in:
lijia 2024-08-27 10:30:31 +08:00
parent 7ad16f73f8
commit 41ec1cf3f0

View File

@ -4,6 +4,7 @@ import android.content.Intent;
import android.location.Location; import android.location.Location;
import android.os.Bundle; import android.os.Bundle;
import android.os.Message; import android.os.Message;
import android.text.TextUtils;
import android.util.Log; import android.util.Log;
import android.view.View; import android.view.View;
import android.view.animation.AlphaAnimation; import android.view.animation.AlphaAnimation;
@ -20,6 +21,7 @@ import androidx.annotation.Nullable;
import com.amap.api.maps.AMap; import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdate; import com.amap.api.maps.CameraUpdate;
import com.amap.api.maps.CameraUpdateFactory; import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.CoordinateConverter;
import com.amap.api.maps.MapView; import com.amap.api.maps.MapView;
import com.amap.api.maps.UiSettings; import com.amap.api.maps.UiSettings;
import com.amap.api.maps.model.BitmapDescriptorFactory; import com.amap.api.maps.model.BitmapDescriptorFactory;
@ -37,13 +39,17 @@ import com.amap.api.services.route.RideRouteResult;
import com.amap.api.services.route.RouteSearch; import com.amap.api.services.route.RouteSearch;
import com.amap.api.services.route.WalkRouteResult; import com.amap.api.services.route.WalkRouteResult;
import com.bumptech.glide.Glide; import com.bumptech.glide.Glide;
import com.dahe.mylibrary.net.CommonResponseBean;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.oneclouds.cargo.R; import com.oneclouds.cargo.R;
import com.oneclouds.cargo.bean.BaseBean; import com.oneclouds.cargo.bean.BaseBean;
import com.oneclouds.cargo.bean.EvaluateBean; import com.oneclouds.cargo.bean.EvaluateBean;
import com.oneclouds.cargo.bean.OrderDetailsBean; import com.oneclouds.cargo.bean.OrderDetailsBean;
import com.oneclouds.cargo.bean.UserBean; import com.oneclouds.cargo.bean.UserBean;
import com.oneclouds.cargo.request.AddressRequest;
import com.oneclouds.cargo.request.WaybillRequest; import com.oneclouds.cargo.request.WaybillRequest;
import com.oneclouds.cargo.request.bean.CarLocaBean;
import com.oneclouds.cargo.ui.parts.TypeParts; import com.oneclouds.cargo.ui.parts.TypeParts;
import com.oneclouds.cargo.util.SPUtil; import com.oneclouds.cargo.util.SPUtil;
import com.oneclouds.cargo.util.StringUtil; import com.oneclouds.cargo.util.StringUtil;
@ -56,6 +62,9 @@ import com.oneclouds.cargo.util.view.BaseActivity;
import com.oneclouds.cargo.util.view.BaseRecyclerView; import com.oneclouds.cargo.util.view.BaseRecyclerView;
import com.oneclouds.cargo.util.view.ScoreView; import com.oneclouds.cargo.util.view.ScoreView;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -79,6 +88,8 @@ public class OrderDetailsActivity extends BaseActivity {
private OrderDetailsBean sob; private OrderDetailsBean sob;
private EvaluateBean wnb; private EvaluateBean wnb;
private WaybillRequest wr; private WaybillRequest wr;
private AddressRequest addressRequest;
private AMap aMap; private AMap aMap;
//是否处于展开状态 //是否处于展开状态
private boolean key = false; private boolean key = false;
@ -96,7 +107,7 @@ public class OrderDetailsActivity extends BaseActivity {
sob = gson.fromJson(CacheGroup.cacheList.get(WaybillRequest.WAYBILL_GET_EXECUTE_WATBILL), OrderDetailsBean.class); sob = gson.fromJson(CacheGroup.cacheList.get(WaybillRequest.WAYBILL_GET_EXECUTE_WATBILL), OrderDetailsBean.class);
wnb = gson.fromJson(CacheGroup.cacheList.get(WaybillRequest.WAYBILL_LIST_APPAISES), EvaluateBean.class); wnb = gson.fromJson(CacheGroup.cacheList.get(WaybillRequest.WAYBILL_LIST_APPAISES), EvaluateBean.class);
if (sob.getCode() == 200 && sob.getData() != null) { if (sob.getCode() == 200 && sob.getData() != null) {
if(TypeParts.isEntrust(con)){ if (TypeParts.isEntrust(con)) {
sob.getData().setTotalAmount(" "); sob.getData().setTotalAmount(" ");
} }
initView(null); initView(null);
@ -121,6 +132,30 @@ public class OrderDetailsActivity extends BaseActivity {
} }
CacheGroup.cacheList.remove(WaybillRequest.WAYBILL_EVALUATION_V3); CacheGroup.cacheList.remove(WaybillRequest.WAYBILL_EVALUATION_V3);
} }
if (CacheGroup.cacheList.get("getcarlocation") != null) {
Type type = new TypeToken<CommonResponseBean<CarLocaBean>>() {
}.getType();
CommonResponseBean<CarLocaBean> getcarlocation = gson.fromJson(CacheGroup.cacheList.get("getcarlocation"), type);
if (getcarlocation!=null&& getcarlocation.getData()!=null){
CarLocaBean data = getcarlocation.getData();
double lat =new BigDecimal(data.getLat()).setScale(5, RoundingMode.HALF_UP)
.divide(new BigDecimal(600000), RoundingMode.HALF_UP).doubleValue();
double lon =new BigDecimal(data.getLon()).setScale(5, RoundingMode.HALF_UP)
.divide(new BigDecimal(600000), RoundingMode.HALF_UP).doubleValue();
//gws84转高德经纬度
CoordinateConverter converter =new CoordinateConverter(con);
converter.from(CoordinateConverter.CoordType.GPS);
converter.coord(new LatLng(lat, lon));
LatLng desLatLng = converter.convert();
aMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_gua))
.position(desLatLng));
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(desLatLng, 6));
}
}
break; break;
case 15: case 15:
break; break;
@ -155,7 +190,8 @@ public class OrderDetailsActivity extends BaseActivity {
if (!userdata.equals("")) { if (!userdata.equals("")) {
ub = gson.fromJson(userdata, UserBean.class); ub = gson.fromJson(userdata, UserBean.class);
} }
wr=new WaybillRequest(con,hd); addressRequest = new AddressRequest(con, hd);
wr = new WaybillRequest(con, hd);
wr.orderDetail(id); wr.orderDetail(id);
wr.orderEvaluate(id); wr.orderEvaluate(id);
} }
@ -164,6 +200,8 @@ public class OrderDetailsActivity extends BaseActivity {
@Override @Override
public void initView(Object obj) { public void initView(Object obj) {
super.initView(obj); super.initView(obj);
addressRequest.getCarLoca(sob.getData().getCarNumber());
// addressRequest.getCarLoca("冀AAH822");
//up_traffic(); //up_traffic();
brv.setNestedScrollingEnabled(false); brv.setNestedScrollingEnabled(false);
//控件显示的动画 //控件显示的动画
@ -235,7 +273,7 @@ public class OrderDetailsActivity extends BaseActivity {
if (id != 0) { if (id != 0) {
if (evaluate.length() >= 5) { if (evaluate.length() >= 5) {
Log.e("星星", "" + sv1.getScore()); Log.e("星星", "" + sv1.getScore());
wr.evaluate(id,m_pl_value.getText()+"",sv1.getScore()); wr.evaluate(id, m_pl_value.getText() + "", sv1.getScore());
//new HuoYuanRequset().keepEvaluate(con,hd,sv1.getScore(),m_pl_value.getText()+"",id); //new HuoYuanRequset().keepEvaluate(con,hd,sv1.getScore(),m_pl_value.getText()+"",id);
} else { } else {
Toast.makeText(con, "写够5个字才是好司机~", Toast.LENGTH_SHORT).show(); Toast.makeText(con, "写够5个字才是好司机~", Toast.LENGTH_SHORT).show();
@ -475,7 +513,7 @@ public class OrderDetailsActivity extends BaseActivity {
} }
} }
//先清除一下,避免重复显示 //先清除一下,避免重复显示
aMap.clear(); // aMap.clear();
//绘制起始位置和目的地marker //绘制起始位置和目的地marker
aMap.addMarker(new MarkerOptions() aMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi)) .icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi))
@ -514,10 +552,11 @@ public class OrderDetailsActivity extends BaseActivity {
builder.include(latLngs.get(i)); builder.include(latLngs.get(i));
} }
//显示全部marker,第二个参数是四周留空宽度 //显示全部marker,第二个参数是四周留空宽度
aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 200)); // aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 200));
LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()), aMap.moveCamera(CameraUpdateFactory.newLatLngBoundsRect(builder.build(), 100, 100, 0, 400));
Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置 // LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6)); // Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置
// aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6));
} }
} }