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

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.os.Bundle;
import android.os.Message;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.animation.AlphaAnimation;
@ -20,6 +21,7 @@ import androidx.annotation.Nullable;
import com.amap.api.maps.AMap;
import com.amap.api.maps.CameraUpdate;
import com.amap.api.maps.CameraUpdateFactory;
import com.amap.api.maps.CoordinateConverter;
import com.amap.api.maps.MapView;
import com.amap.api.maps.UiSettings;
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.WalkRouteResult;
import com.bumptech.glide.Glide;
import com.dahe.mylibrary.net.CommonResponseBean;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.oneclouds.cargo.R;
import com.oneclouds.cargo.bean.BaseBean;
import com.oneclouds.cargo.bean.EvaluateBean;
import com.oneclouds.cargo.bean.OrderDetailsBean;
import com.oneclouds.cargo.bean.UserBean;
import com.oneclouds.cargo.request.AddressRequest;
import com.oneclouds.cargo.request.WaybillRequest;
import com.oneclouds.cargo.request.bean.CarLocaBean;
import com.oneclouds.cargo.ui.parts.TypeParts;
import com.oneclouds.cargo.util.SPUtil;
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.ScoreView;
import java.lang.reflect.Type;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
@ -79,6 +88,8 @@ public class OrderDetailsActivity extends BaseActivity {
private OrderDetailsBean sob;
private EvaluateBean wnb;
private WaybillRequest wr;
private AddressRequest addressRequest;
private AMap aMap;
//是否处于展开状态
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);
wnb = gson.fromJson(CacheGroup.cacheList.get(WaybillRequest.WAYBILL_LIST_APPAISES), EvaluateBean.class);
if (sob.getCode() == 200 && sob.getData() != null) {
if(TypeParts.isEntrust(con)){
if (TypeParts.isEntrust(con)) {
sob.getData().setTotalAmount(" ");
}
initView(null);
@ -121,6 +132,30 @@ public class OrderDetailsActivity extends BaseActivity {
}
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;
case 15:
break;
@ -155,7 +190,8 @@ public class OrderDetailsActivity extends BaseActivity {
if (!userdata.equals("")) {
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.orderEvaluate(id);
}
@ -164,6 +200,8 @@ public class OrderDetailsActivity extends BaseActivity {
@Override
public void initView(Object obj) {
super.initView(obj);
addressRequest.getCarLoca(sob.getData().getCarNumber());
// addressRequest.getCarLoca("冀AAH822");
//up_traffic();
brv.setNestedScrollingEnabled(false);
//控件显示的动画
@ -235,7 +273,7 @@ public class OrderDetailsActivity extends BaseActivity {
if (id != 0) {
if (evaluate.length() >= 5) {
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);
} else {
Toast.makeText(con, "写够5个字才是好司机~", Toast.LENGTH_SHORT).show();
@ -475,7 +513,7 @@ public class OrderDetailsActivity extends BaseActivity {
}
}
//先清除一下,避免重复显示
aMap.clear();
// aMap.clear();
//绘制起始位置和目的地marker
aMap.addMarker(new MarkerOptions()
.icon(BitmapDescriptorFactory.fromResource(R.mipmap.qi))
@ -514,10 +552,11 @@ public class OrderDetailsActivity extends BaseActivity {
builder.include(latLngs.get(i));
}
//显示全部marker,第二个参数是四周留空宽度
aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 200));
LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置
aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6));
// aMap.moveCamera(CameraUpdateFactory.newLatLngBounds(builder.build(), 200));
aMap.moveCamera(CameraUpdateFactory.newLatLngBoundsRect(builder.build(), 100, 100, 0, 400));
// LatLng latLng = new LatLng(Double.parseDouble(sob.getData().getWayChildren().get(0).getLatitude()),
// Double.parseDouble(sob.getData().getWayChildren().get((0)).getLongitude()));//构造一个位置
// aMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 6));
}
}