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