lmw
2025-04-14 0361f47762f9958f2ec91fdb62bfc98de4e162a6
app/src/main/java/com/xianning/driver/ui/main/GetOrderFragment.kt
@@ -5,9 +5,8 @@
import android.view.View
import cn.sinata.xldutils.activitys.DialogActivity
import cn.sinata.xldutils.utils.*
import com.amap.api.maps.AMap
import com.amap.api.maps.model.LatLng
import com.baidu.mapapi.map.BaiduMap
import com.baidu.mapapi.model.LatLng
import com.xianning.driver.R
import com.xianning.driver.base.MyApplication
import com.xianning.driver.base.gaode.AMapKit
@@ -15,9 +14,11 @@
import com.xianning.driver.netUtls.*
import com.xianning.driver.ui.UiUtil
import com.google.gson.Gson
import com.xianning.driver.base.gaode.BaiduUtils
import kotlinx.android.synthetic.main.item_get_order.*
import kotlinx.android.synthetic.main.item_map_market.view.*
import org.jetbrains.anko.startActivity
import java.util.ArrayList
class GetOrderFragment : DialogActivity() {
@@ -109,12 +110,6 @@
        callNet(this, Api.queryPushOrder, map) {
            val data = Gson().fromJson<OrderBean>(it, OrderBean::class.java).data
            sysErr(data)
            val startView = createView(R.layout.item_map_market, this)
            val endView = createView(R.layout.item_map_market, this)
            startView.iv_img.setImageResource(R.mipmap.starting_point)
            endView.iv_img.setImageResource(R.mipmap.end_point)
            AMapKit.addMarker(aMap, data.startLat, data.startLon, startView, "")
            AMapKit.addMarker(aMap, data.endLat, data.endLon, endView, "")
            tv_time.text = data.travelTime
            tv_car_type.text = UiUtil.getNameByType(orderType!!) + "订单"
            tv_remark.visibility = if (data.remark.isNullOrEmpty()) View.GONE else View.VISIBLE
@@ -147,19 +142,10 @@
            tv_reassign.text = data.type
            if (data.endLat != null&&data.endLat != 0.0&& data.endLon != null&& data.endLon != 0.0) {
                AMapKit.drawLineAndMove(
                    this,
                    aMap,
                    LatLng(data.startLat, data.startLon),
                    LatLng(data.endLat, data.endLon), 100
                )
                AMapKit.initRouteLine(
                    this,
                    LatLng(data.startLat, data.startLon),
                    LatLng(data.endLat, data.endLon),
                    object : (MutableList<LatLng>, Float, Long) -> Unit {
                        override fun invoke(
                            latLngs: MutableList<LatLng>,
                BaiduUtils.initRouteLine(LatLng(data.startLat, data.startLon),
                    LatLng(data.endLat, data.endLon),object :BaiduUtils.Callback{
                        override fun onGetDrivingRouteResult(
                            latLngs: ArrayList<LatLng>?,
                            lineTance: Float,
                            lineTime: Long
                        ) {
@@ -170,8 +156,13 @@
                                )
                            )
                        }
                    })
                AMapKit.drawLineAndMove(
                    this,
                    aMap,
                    LatLng(data.startLat, data.startLon),
                    LatLng(data.endLat, data.endLon), 100
                )
            }else{
                AMapKit.moveCamera(aMap,LatLng(data.startLat, data.startLon))
                MyApplication.getTTsManager().setVideoText(
@@ -179,19 +170,23 @@
                )
            }
            AMapKit.initRouteLine(
                this,
                LatLng(MyApplication.getLocation().latitude, MyApplication.getLocation().longitude),
                LatLng(data.startLat, data.startLon),
                object : (MutableList<LatLng>, Float, Long) -> Unit {
                    override fun invoke(
                        latLngs: MutableList<LatLng>,
            BaiduUtils.initRouteLine(LatLng(MyApplication.getLocation().latitude, MyApplication.getLocation().longitude),
                LatLng(data.startLat, data.startLon),object :BaiduUtils.Callback{
                    override fun onGetDrivingRouteResult(
                        latLngs: ArrayList<LatLng>?,
                        lineTance: Float,
                        lineTime: Long
                    ) {
                        tv_title.text = "距您约" + AMapKit.getTance(lineTance)
                    }
                })
            val startView = createView(R.layout.item_map_market, this)
            val endView = createView(R.layout.item_map_market, this)
            startView.iv_img.setImageResource(R.mipmap.starting_point)
            endView.iv_img.setImageResource(R.mipmap.end_point)
            AMapKit.addMarker(aMap, data.startLat, data.startLon, startView, "")
            AMapKit.addMarker(aMap, data.endLat, data.endLon, endView, "")
        }
    }