diff --git a/app/build.gradle b/app/build.gradle
index d06afef..7c75cb8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -61,7 +61,6 @@
implementation 'io.github.lucksiege:pictureselector:v3.0.4'
//高德地图
implementation 'com.amap.api:3dmap:7.9.1'
- implementation 'com.amap.api:location:5.3.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
diff --git a/app/build.gradle b/app/build.gradle
index d06afef..7c75cb8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -61,7 +61,6 @@
implementation 'io.github.lucksiege:pictureselector:v3.0.4'
//高德地图
implementation 'com.amap.api:3dmap:7.9.1'
- implementation 'com.amap.api:location:5.3.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 054b5ce..d2987e8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,11 +8,6 @@
-
-
-
-
-
@@ -26,8 +21,9 @@
android:theme="@style/QMUI.Compat.NoActionBar"
android:usesCleartextTraffic="true">
+
@@ -36,7 +32,6 @@
-
-
-
-
diff --git a/app/build.gradle b/app/build.gradle
index d06afef..7c75cb8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -61,7 +61,6 @@
implementation 'io.github.lucksiege:pictureselector:v3.0.4'
//高德地图
implementation 'com.amap.api:3dmap:7.9.1'
- implementation 'com.amap.api:location:5.3.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 054b5ce..d2987e8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,11 +8,6 @@
-
-
-
-
-
@@ -26,8 +21,9 @@
android:theme="@style/QMUI.Compat.NoActionBar"
android:usesCleartextTraffic="true">
+
@@ -36,7 +32,6 @@
-
-
-
-
diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt b/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt
index 894cc50..168f065 100644
--- a/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt
+++ b/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt
@@ -14,7 +14,6 @@
const val PAGE_LIMIT = 20
const val FIVE_YEARS = 5L * 365 * 60 * 60 * 24 * 1000L
const val RADIUS_SIZE = 100 //相距多少米才聚合,单位:米
- const val DISTANCE = 5 //两点间距离阈值,单位:米
val HOME_ICONS = arrayOf(
R.drawable.ic_home_map, R.drawable.ic_home_record, R.drawable.ic_home_statistics,
diff --git a/app/build.gradle b/app/build.gradle
index d06afef..7c75cb8 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -61,7 +61,6 @@
implementation 'io.github.lucksiege:pictureselector:v3.0.4'
//高德地图
implementation 'com.amap.api:3dmap:7.9.1'
- implementation 'com.amap.api:location:5.3.1'
//返回值转换器
implementation 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-adapter:0.9.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.3.0'
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 054b5ce..d2987e8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -8,11 +8,6 @@
-
-
-
-
-
@@ -26,8 +21,9 @@
android:theme="@style/QMUI.Compat.NoActionBar"
android:usesCleartextTraffic="true">
+
@@ -36,7 +32,6 @@
-
-
-
-
diff --git a/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt b/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt
index 894cc50..168f065 100644
--- a/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt
+++ b/app/src/main/java/com/casic/qd/smartwell/utils/Constant.kt
@@ -14,7 +14,6 @@
const val PAGE_LIMIT = 20
const val FIVE_YEARS = 5L * 365 * 60 * 60 * 24 * 1000L
const val RADIUS_SIZE = 100 //相距多少米才聚合,单位:米
- const val DISTANCE = 5 //两点间距离阈值,单位:米
val HOME_ICONS = arrayOf(
R.drawable.ic_home_map, R.drawable.ic_home_record, R.drawable.ic_home_statistics,
diff --git a/app/src/main/java/com/casic/qd/smartwell/view/MapActivity.kt b/app/src/main/java/com/casic/qd/smartwell/view/MapActivity.kt
index 43e1317..0a6bad4 100644
--- a/app/src/main/java/com/casic/qd/smartwell/view/MapActivity.kt
+++ b/app/src/main/java/com/casic/qd/smartwell/view/MapActivity.kt
@@ -1,7 +1,6 @@
package com.casic.qd.smartwell.view
import android.graphics.Point
-import android.location.Location
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
@@ -10,7 +9,7 @@
import androidx.lifecycle.ViewModelProvider
import com.amap.api.maps.AMap
import com.amap.api.maps.AMapOptions
-import com.amap.api.maps.AMapUtils
+import com.amap.api.maps.CameraUpdateFactory
import com.amap.api.maps.CoordinateConverter
import com.amap.api.maps.model.*
import com.casic.qd.smartwell.R
@@ -25,6 +24,8 @@
import com.google.gson.reflect.TypeToken
import kotlinx.android.synthetic.main.activity_map.*
import kotlinx.android.synthetic.main.include_base_title.*
+import java.util.*
+import kotlin.collections.ArrayList
/**
* @author a203
@@ -32,8 +33,8 @@
* @date 2022/2/17 14:33
* @email 290677893@qq.com
*/
-class MapActivity : BaseActivity(), AMap.OnMapLoadedListener, AMap.OnMyLocationChangeListener,
- AMap.OnCameraChangeListener, AMap.OnMarkerClickListener, AMap.InfoWindowAdapter {
+class MapActivity : BaseActivity(), AMap.OnMapLoadedListener, AMap.OnCameraChangeListener,
+ AMap.OnMarkerClickListener, AMap.InfoWindowAdapter {
private val kTag = "MapActivity"
private val context = this@MapActivity
@@ -42,11 +43,6 @@
private lateinit var aMap: AMap
/**
- * 定位点经纬度
- * */
- private lateinit var location: LatLng
-
- /**
* 所有的marker
*/
private var allMarkerOptions: MutableList = ArrayList()
@@ -87,20 +83,27 @@
}
deviceViewModel.mapDeviceResultModel.observe(this, {
if (it.code == 200) {
+ val latitudeList: MutableList = ArrayList()
+ val longitudeList: MutableList = ArrayList()
it.data?.forEach { dataModel ->
- deviceModels.add(dataModel)
val lat = dataModel.latitude.toString()
val lng = dataModel.longitude.toString()
if (lat.isNotBlank() && lng.isNotBlank()) {
//返回true代表当前位置在大陆、港澳地区,反之不在
- if (CoordinateConverter.isAMapDataAvailable(
- lat.toDouble(), lng.toDouble()
- )
- ) {
+ val latitude = lat.toDouble()
+ val longitude = lng.toDouble()
+ if (CoordinateConverter.isAMapDataAvailable(latitude, longitude)) {
+ //缓存所有设备详情,点击Marker时候需要
+ deviceModels.add(dataModel)
+ //分别缓存经、纬度
+ latitudeList.add(latitude)
+ longitudeList.add(longitude)
+ //将所有设备信息转化缓存为Marker点
allMarkerOptions.add(
- MarkerOptions().position(
- LatLng(lat.toDouble(), lng.toDouble())
- ).title(dataModel.deviceTypeName).snippet(dataModel.deviceName)
+ MarkerOptions()
+ .position(LatLng(latitude, longitude))
+ .title(dataModel.deviceTypeName)
+ .snippet(dataModel.deviceName)
)
} else {
Log.d(kTag, "${dataModel.devcode}闸井经纬度不在国内,异常经纬度 ===> [${lng},${lat}]")
@@ -109,30 +112,26 @@
Log.d(kTag, "${dataModel.devcode}设备经纬度异常,异常经纬度 ===> [${lng},${lat}]")
}
}
+ //计算所有点的中心点位置
+ val centerLatLng = LatLng(latitudeList.average(), longitudeList.average())
+ //移动到指定经纬度
+ val cameraPosition = CameraPosition(centerLatLng, 14f, 0f, 0f)
+ val cameraUpdate = CameraUpdateFactory.newCameraPosition(cameraPosition)
+ aMap.animateCamera(cameraUpdate, 3000, null)
}
})
}
override fun initEvent() {
aMap = mapView.map
+// aMap.mapType = AMap.MAP_TYPE_SATELLITE//卫星地图模式
val uiSettings = aMap.uiSettings
- uiSettings.isMyLocationButtonEnabled = true//设置默认定位按钮是否显示
uiSettings.isCompassEnabled = true
uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER
uiSettings.isTiltGesturesEnabled = false//不许地图随手势倾斜角度
- uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度
- //显示定位小蓝点
- val locationStyle = MyLocationStyle()
- //连续定位、蓝点不会移动到地图中心点,定位点依照设备方向旋转,并且蓝点会跟随设备移动
- locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)
- locationStyle.showMyLocation(true)//设置是否显示定位小蓝点
- aMap.myLocationStyle = locationStyle
- aMap.isMyLocationEnabled = true
// 地图加载成功监听
aMap.addOnMapLoadedListener(this)
- // 位置改变监听
- aMap.addOnMyLocationChangeListener(this)
// 地图缩放监听
aMap.addOnCameraChangeListener(this)
// marker点击事件监听
@@ -146,12 +145,6 @@
initClustersMarkers()
}
- override fun onMyLocationChange(p0: Location?) {
- if (p0 != null) {
- this.location = LatLng(p0.latitude, p0.longitude)
- }
- }
-
override fun onCameraChange(p0: CameraPosition?) {
}
@@ -212,15 +205,8 @@
}
override fun onMarkerClick(marker: Marker?): Boolean {
- val clickedLatLng = marker?.position
- //判断点击点是否是定位点
- val distance = AMapUtils.calculateLineDistance(location, clickedLatLng)
- if (distance > Constant.DISTANCE) {
- //显示闸井信息
- marker!!.showInfoWindow()
- } else {
- "该位置是定位点,请选择实际闸井点".show()
- }
+ //显示闸井信息
+ marker?.showInfoWindow()
return true
}