diff --git a/app/src/main/java/com/oneclouds/cargo/ui/home/OrderDetailsActivity.java b/app/src/main/java/com/oneclouds/cargo/ui/home/OrderDetailsActivity.java index e16bfcb..64e508a 100644 --- a/app/src/main/java/com/oneclouds/cargo/ui/home/OrderDetailsActivity.java +++ b/app/src/main/java/com/oneclouds/cargo/ui/home/OrderDetailsActivity.java @@ -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>() { + }.getType(); + CommonResponseBean 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)); } }