From 734d2a0489b60bce27c90b0f3c26b8780120b474 Mon Sep 17 00:00:00 2001
From: lmw <125975490@qq.com>
Date: 星期二, 14 一月 2025 11:03:03 +0800
Subject: [PATCH] save

---
 app/src/main/java/com/xianning/driver/base/gaode/AMapKit.kt |  111 +++++++++++++++++++++++--------------------------------
 1 files changed, 47 insertions(+), 64 deletions(-)

diff --git a/app/src/main/java/com/xianning/driver/base/gaode/AMapKit.kt b/app/src/main/java/com/xianning/driver/base/gaode/AMapKit.kt
index 23c0a5c..e771e8e 100644
--- a/app/src/main/java/com/xianning/driver/base/gaode/AMapKit.kt
+++ b/app/src/main/java/com/xianning/driver/base/gaode/AMapKit.kt
@@ -1,19 +1,13 @@
 package com.xianning.driver.base.gaode
 
 import android.content.Context
-import android.graphics.Color
 import android.location.LocationManager
 import android.os.Bundle
 import android.os.Handler
 import android.os.Looper
-import android.text.TextUtils
 import android.view.View
 import androidx.core.content.ContextCompat
-import cn.sinata.xldutils.utils.sysErr
-import com.amap.api.fence.GeoFenceClient
-import com.amap.api.fence.GeoFenceListener
 import com.amap.api.services.core.LatLonPoint
-import com.amap.api.services.geocoder.*
 import com.amap.api.services.route.*
 import com.amap.api.services.route.RouteSearch.DriveRouteQuery
 import com.amap.api.services.route.RouteSearch.FromAndTo
@@ -23,6 +17,7 @@
 import com.baidu.location.LocationClientOption.LocationMode
 import com.baidu.mapapi.map.*
 import com.baidu.mapapi.model.LatLng
+import com.baidu.mapapi.model.LatLngBounds
 import com.xianning.driver.R
 import java.util.*
 
@@ -60,20 +55,25 @@
 
     fun initMap(savedInstanceState: Bundle?, mapView: MapView): BaiduMap {
         val aMap = mapView.map
-        val mMyLocationStyle = BaiduMapOptions()
+        val uiSettings = aMap.uiSettings
+        uiSettings.isCompassEnabled = false
+        mapView.showScaleControl(false)
+        mapView.showZoomControls(false)
         return aMap
     }
 
-    fun drawLine(context: Context, aMap: BaiduMap, start: LatLng, end: LatLng): Polyline? {
-//        val latLngs: MutableList<LatLng> = ArrayList()
-//        latLngs.add(start)
-//        latLngs.add(end)
-//        return aMap.addPolyline(
-//            PolylineOptions().addAll(latLngs).width(10f).color(
-//                ContextCompat.getColor(context, R.color.main_yellow_qia)
-//            )
-//        )
-        return null
+    fun drawLine(context: Context, aMap: BaiduMap, start: LatLng, end: LatLng): Overlay? {
+        val latLngs: MutableList<LatLng> = ArrayList()
+        latLngs.add(start)
+        latLngs.add(end)
+        //设置折线的属性
+        val mOverlayOptions: OverlayOptions = PolylineOptions()
+            .width(10)
+            .color(ContextCompat.getColor(context, R.color.main_yellow_qia))
+            .points(latLngs)
+        //在地图上绘制折线
+        //mPloyline 折线对象
+        return aMap.addOverlay(mOverlayOptions)
     }
 
 
@@ -83,61 +83,41 @@
     }
 
 
-    fun drawLine(context: Context, aMap: BaiduMap, latLngs: List<LatLng?>?): Polyline? {
-//        val options = PolylineOptions().addAll(latLngs).width(20f)
-//            .color(ContextCompat.getColor(context, R.color.qing))
-//        return aMap.addPolyline(options)
-        return null
+    fun drawLine(context: Context, aMap: BaiduMap, points: List<LatLng>?): Overlay {
+        val latLngs: MutableList<LatLng> = ArrayList()
+        latLngs.addAll(points?: arrayListOf())
+        //设置折线的属性
+        val mOverlayOptions: OverlayOptions = PolylineOptions()
+            .width(10)
+            .color(ContextCompat.getColor(context, R.color.qing))
+            .points(latLngs)
+        //在地图上绘制折线
+        //mPloyline 折线对象
+        return aMap.addOverlay(mOverlayOptions)
     }
 
-    fun moveCamera(aMap: BaiduMap, latlng: LatLng?) {
-//        val mCameraUpdate = CameraUpdateFactory.newCameraPosition(
-//            CameraPosition(latlng, 16f, 0f, 0f)
-//        )
-//        aMap.animateCamera(mCameraUpdate)
+    fun moveCamera(aMap: BaiduMap, latlng: LatLng) {
+        val mapStatusUpdate = MapStatusUpdateFactory.newLatLng(latlng)
+        aMap.animateMapStatus(mapStatusUpdate,16)
     }
 
     fun moveCamera(aMap: BaiduMap, start: LatLng?, end: LatLng?) {
-//        var bounds: LatLngBounds? = null
-//        if (start!!.latitude < end!!.latitude)
-//            bounds = LatLngBounds(start, end)
-//        else
-//            bounds = LatLngBounds(end, start)
-//        val mCameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 150)
-//        aMap.animateCamera(mCameraUpdate, object : AMap.CancelableCallback {
-//            override fun onFinish() {
-//                sysErr("onFinish")
-//            }
-//
-//            override fun onCancel() {
-//                sysErr("onCancel")
-//            }
-//        })
+        val bounds = LatLngBounds.Builder().include(start).include(end).build()
+        val mapStatusUpdate = MapStatusUpdateFactory.newLatLngBounds(bounds,100,100,100,100)
+        aMap.animateMapStatus(mapStatusUpdate)
     }
 
     fun moveCamera3(aMap: BaiduMap, start: LatLng?, end: LatLng?, car: LatLng?) {
-//        var bounds: LatLngBounds? = null
-//        if (start!!.latitude < end!!.latitude)
-//            bounds = LatLngBounds(start, end)
-//        else
-//            bounds = LatLngBounds(end, start)
-//        bounds.including(car)
-//        val mCameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, 150)
-//        aMap.animateCamera(mCameraUpdate, object : AMap.CancelableCallback {
-//            override fun onFinish() {
-//                sysErr("onFinish")
-//            }
-//
-//            override fun onCancel() {
-//                sysErr("onCancel")
-//            }
-//        })
+        val bounds = LatLngBounds.Builder().include(start).include(end).include(car).build()
+        val mapStatusUpdate = MapStatusUpdateFactory.newLatLngBounds(bounds,150,150,150,150)
+        aMap.animateMapStatus(mapStatusUpdate)
+
     }
 
-    fun moveCamera(aMap: BaiduMap, start: LatLng?, end: LatLng?, padd: Int) {
-//        val bounds = LatLngBounds(start, end)
-//        val mCameraUpdate = CameraUpdateFactory.newLatLngBounds(bounds, padd)
-//        aMap.animateCamera(mCameraUpdate)
+    fun moveCamera(aMap: BaiduMap, start: LatLng, end: LatLng, padd: Int) {
+        val bounds = LatLngBounds.Builder().include(start).include(end).build()
+        val mapStatusUpdate = MapStatusUpdateFactory.newLatLngBounds(bounds,padd,padd,padd,padd)
+        aMap.animateMapStatus(mapStatusUpdate)
     }
 
     fun getOption(
@@ -166,13 +146,13 @@
         mLng: Double?,
         view: View,
         peopleId: String
-    ): Marker? {
+    ): Overlay? {
         if (mLat == null || mLng == null){
             return null
         }
         val options: MarkerOptions = getOption(LatLng(mLat, mLng), view)
         val marker: Overlay = aMap.addOverlay(options)
-        return null
+        return marker
     }
 
     fun getTance(tance: Float): String {
@@ -214,6 +194,9 @@
         start: LatLng, end: LatLng, centerPoint: List<LatLonPoint>?,
         onClick: (latLngs: MutableList<LatLng>, lineTance: Float, lineTime: Long) -> Unit
     ) {
+
+
+
         var routeSearch = RouteSearch(context)
         val fromAndTo = FromAndTo(
             LatLonPoint(start.latitude, start.longitude),

--
Gitblit v1.7.1