diff --git a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java index 1c2c71f..32220b6 100644 --- a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java +++ b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java @@ -100,7 +100,7 @@ /** * 设置聚合元素的渲染样式,不设置则默认为气泡加数字形式进行渲染 */ - public void setClusterRenderer(ClusterRender render) { + public void setClusterRender(ClusterRender render) { this.clusterRender = render; } diff --git a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java index 1c2c71f..32220b6 100644 --- a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java +++ b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java @@ -100,7 +100,7 @@ /** * 设置聚合元素的渲染样式,不设置则默认为气泡加数字形式进行渲染 */ - public void setClusterRenderer(ClusterRender render) { + public void setClusterRender(ClusterRender render) { this.clusterRender = render; } diff --git a/app/src/main/java/com/casic/detector/view/MainActivity.kt b/app/src/main/java/com/casic/detector/view/MainActivity.kt index 116cf7a..f65f8d7 100644 --- a/app/src/main/java/com/casic/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/view/MainActivity.kt @@ -15,16 +15,15 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.FileProvider import androidx.lifecycle.ViewModelProvider -import com.amap.api.location.AMapLocation import com.amap.api.maps.AMap import com.amap.api.maps.AMapOptions +import com.amap.api.maps.CameraUpdateFactory import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.LatLngBounds import com.amap.api.maps.model.MyLocationStyle import com.casic.detector.BuildConfig import com.casic.detector.R import com.casic.detector.bean.LabelBean -import com.casic.detector.callback.ILocationListener import com.casic.detector.cluster.ClusterItem import com.casic.detector.cluster.ClusterOverlay import com.casic.detector.cluster.RegionItem @@ -82,28 +81,25 @@ mapView.onCreate(savedInstanceState) aMap = mapView.map - //显示当前位置 - LocationHub.getCurrentLocation(this, object : ILocationListener { - override fun onAMapLocationGet(location: AMapLocation?) { - if (location != null) { - location.address.show(context) - } else { - "当前位置信号弱,无法定位".show(context) - } - } - }) - val uiSettings = aMap.uiSettings uiSettings.isCompassEnabled = true uiSettings.isMyLocationButtonEnabled = true + uiSettings.isScaleControlsEnabled = true uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度 //显示定位小蓝点 locationStyle = MyLocationStyle() - locationStyle.interval(5000) - locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE)//连续定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动 + locationStyle.interval(2000) + locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)//定位、但不会移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动。 aMap.myLocationStyle = locationStyle//设置定位蓝点的Style aMap.isMyLocationEnabled = true//设置是否显示定位小蓝点 + aMap.setOnMyLocationChangeListener { + val longitude = it.longitude + val latitude = it.latitude + LocationHub.antiCodingLocation(context, it) { address -> + currentLocationView.text = address + } + } } private fun initData() { @@ -234,7 +230,7 @@ } clusterOverlay = ClusterOverlay(context, aMap, clusterItems, regionRadius) - clusterOverlay.setClusterRenderer { clusterNum -> + clusterOverlay.setClusterRender { clusterNum -> val radius = 80f.dp2px(context) if (clusterNum == 1) { var bitmapDrawable: Drawable? = backDrawables[1] @@ -279,10 +275,9 @@ builder.include(clusterItem.position) item = clusterItem as RegionItem } - //TODO 暂时去掉 //点击Marker移到Marker视图 -// val latLngBounds = builder.build() -// aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 0)) + val latLngBounds = builder.build() + aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 0)) AlertControlDialog.Builder() .setContext(this) @@ -389,6 +384,7 @@ } } + //TODO //事件上报 private fun uploadEvent() { // if(){ diff --git a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java index 1c2c71f..32220b6 100644 --- a/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java +++ b/app/src/main/java/com/casic/detector/cluster/ClusterOverlay.java @@ -100,7 +100,7 @@ /** * 设置聚合元素的渲染样式,不设置则默认为气泡加数字形式进行渲染 */ - public void setClusterRenderer(ClusterRender render) { + public void setClusterRender(ClusterRender render) { this.clusterRender = render; } diff --git a/app/src/main/java/com/casic/detector/view/MainActivity.kt b/app/src/main/java/com/casic/detector/view/MainActivity.kt index 116cf7a..f65f8d7 100644 --- a/app/src/main/java/com/casic/detector/view/MainActivity.kt +++ b/app/src/main/java/com/casic/detector/view/MainActivity.kt @@ -15,16 +15,15 @@ import androidx.appcompat.app.AppCompatActivity import androidx.core.content.FileProvider import androidx.lifecycle.ViewModelProvider -import com.amap.api.location.AMapLocation import com.amap.api.maps.AMap import com.amap.api.maps.AMapOptions +import com.amap.api.maps.CameraUpdateFactory import com.amap.api.maps.model.LatLng import com.amap.api.maps.model.LatLngBounds import com.amap.api.maps.model.MyLocationStyle import com.casic.detector.BuildConfig import com.casic.detector.R import com.casic.detector.bean.LabelBean -import com.casic.detector.callback.ILocationListener import com.casic.detector.cluster.ClusterItem import com.casic.detector.cluster.ClusterOverlay import com.casic.detector.cluster.RegionItem @@ -82,28 +81,25 @@ mapView.onCreate(savedInstanceState) aMap = mapView.map - //显示当前位置 - LocationHub.getCurrentLocation(this, object : ILocationListener { - override fun onAMapLocationGet(location: AMapLocation?) { - if (location != null) { - location.address.show(context) - } else { - "当前位置信号弱,无法定位".show(context) - } - } - }) - val uiSettings = aMap.uiSettings uiSettings.isCompassEnabled = true uiSettings.isMyLocationButtonEnabled = true + uiSettings.isScaleControlsEnabled = true uiSettings.zoomPosition = AMapOptions.ZOOM_POSITION_RIGHT_CENTER uiSettings.isRotateGesturesEnabled = false//不许地图随手势旋转角度 //显示定位小蓝点 locationStyle = MyLocationStyle() - locationStyle.interval(5000) - locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE)//连续定位、且将视角移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动 + locationStyle.interval(2000) + locationStyle.myLocationType(MyLocationStyle.LOCATION_TYPE_LOCATION_ROTATE_NO_CENTER)//定位、但不会移动到地图中心点,定位点依照设备方向旋转,并且会跟随设备移动。 aMap.myLocationStyle = locationStyle//设置定位蓝点的Style aMap.isMyLocationEnabled = true//设置是否显示定位小蓝点 + aMap.setOnMyLocationChangeListener { + val longitude = it.longitude + val latitude = it.latitude + LocationHub.antiCodingLocation(context, it) { address -> + currentLocationView.text = address + } + } } private fun initData() { @@ -234,7 +230,7 @@ } clusterOverlay = ClusterOverlay(context, aMap, clusterItems, regionRadius) - clusterOverlay.setClusterRenderer { clusterNum -> + clusterOverlay.setClusterRender { clusterNum -> val radius = 80f.dp2px(context) if (clusterNum == 1) { var bitmapDrawable: Drawable? = backDrawables[1] @@ -279,10 +275,9 @@ builder.include(clusterItem.position) item = clusterItem as RegionItem } - //TODO 暂时去掉 //点击Marker移到Marker视图 -// val latLngBounds = builder.build() -// aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 0)) + val latLngBounds = builder.build() + aMap.animateCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 0)) AlertControlDialog.Builder() .setContext(this) @@ -389,6 +384,7 @@ } } + //TODO //事件上报 private fun uploadEvent() { // if(){ diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 0830bd5..bb962e0 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -31,8 +31,68 @@ android:src="@drawable/ic_more_white" /> - + android:layout_height="wrap_content" + android:orientation="horizontal" + android:padding="@dimen/dp_5"> + +