调整定位显示和提示。

This commit is contained in:
ZhanGSKen 2025-04-03 19:20:22 +08:00
parent d9bf0f2297
commit 65f182c235
2 changed files with 16 additions and 24 deletions

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle #Created by .winboll/winboll_app_build.gradle
#Thu Apr 03 06:41:21 GMT 2025 #Thu Apr 03 11:18:49 GMT 2025
stageCount=0 stageCount=0
libraryProject= libraryProject=
baseVersion=1.0 baseVersion=1.0
publishVersion=1.0.0 publishVersion=1.0.0
buildCount=389 buildCount=409
baseBetaVersion=1.0.1 baseBetaVersion=1.0.1

View File

@ -5,7 +5,6 @@ package cc.winboll.studio.positions.fragments;
* @Date 2025/02/25 12:44:39 * @Date 2025/02/25 12:44:39
* @Describe 腾讯地图服务视图 * @Describe 腾讯地图服务视图
*/ */
import com.tencent.tencentmap.mapsdk.maps.model.LatLng;
import android.Manifest; import android.Manifest;
import android.content.pm.PackageManager; import android.content.pm.PackageManager;
import android.graphics.Bitmap; import android.graphics.Bitmap;
@ -23,17 +22,15 @@ import android.util.Log;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat; import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat; import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import cc.winboll.studio.libappbase.LogUtils;
import cc.winboll.studio.libappbase.utils.ToastUtils; import cc.winboll.studio.libappbase.utils.ToastUtils;
import cc.winboll.studio.positions.R; import cc.winboll.studio.positions.R;
import cc.winboll.studio.positions.models.PostionFixModel; import cc.winboll.studio.positions.listeners.OnTXRTLocationListener;
import cc.winboll.studio.positions.models.PostionModel; import cc.winboll.studio.positions.models.PostionModel;
import cc.winboll.studio.positions.utils.LocationFileStorage; import cc.winboll.studio.positions.utils.LocationFileStorage;
import com.tencent.map.geolocation.TencentLocation; import com.tencent.map.geolocation.TencentLocation;
@ -55,7 +52,6 @@ import com.tencent.tencentmap.mapsdk.maps.model.Marker;
import com.tencent.tencentmap.mapsdk.maps.model.MarkerOptions; import com.tencent.tencentmap.mapsdk.maps.model.MarkerOptions;
import com.tencent.tencentmap.mapsdk.maps.model.MyLocationStyle; import com.tencent.tencentmap.mapsdk.maps.model.MyLocationStyle;
import java.util.ArrayList; import java.util.ArrayList;
import cc.winboll.studio.positions.listeners.OnTXRTLocationListener;
public class TXMSFragment extends Fragment implements /*EasyPermissions.PermissionCallbacks,*/LocationSource, TencentLocationListener,TencentMap.OnMapClickListener { public class TXMSFragment extends Fragment implements /*EasyPermissions.PermissionCallbacks,*/LocationSource, TencentLocationListener,TencentMap.OnMapClickListener {
@ -112,16 +108,13 @@ public class TXMSFragment extends Fragment implements /*EasyPermissions.Permissi
mTencentLocationManager = TencentLocationManager.getInstance(getActivity()); mTencentLocationManager = TencentLocationManager.getInstance(getActivity());
//创建定位请求 //创建定位请求
mTencentLocationRequest = TencentLocationRequest.create(); mTencentLocationRequest = TencentLocationRequest.create();
mTencentLocationManager.requestLocationUpdates(mTencentLocationRequest, this); //mTencentLocationManager.requestLocationUpdates(mTencentLocationRequest, this);
//地图上设置定位数据源 //地图上设置定位数据源
tencentMap.setLocationSource(this); tencentMap.setLocationSource(this);
//设置当前位置可见 //设置当前位置可见
tencentMap.setMyLocationEnabled(true); tencentMap.setMyLocationEnabled(true);
//设置定位图标样式 //设置定位图标样式
MyLocationStyle myLocationStyle = new MyLocationStyle(); setMyLocationMarkerStyle();
tencentMap.setMyLocationEnabled(true);
tencentMap.setMyLocationStyle(myLocationStyle);
startRTLocation(); startRTLocation();
return viewRoot; return viewRoot;
@ -148,11 +141,8 @@ public class TXMSFragment extends Fragment implements /*EasyPermissions.Permissi
} }
public void startRTLocation() { public void startRTLocation() {
ToastUtils.show("startRTLocation()"); //ToastUtils.show("startRTLocation()");
mTencentLocationManager.requestLocationUpdates(mTencentLocationRequest, this); mTencentLocationManager.requestLocationUpdates(mTencentLocationRequest, this);
MyLocationStyle myLocationStyle = new MyLocationStyle();
tencentMap.setMyLocationEnabled(true);
tencentMap.setMyLocationStyle(myLocationStyle);
} }
private void stopLocation() { private void stopLocation() {
@ -318,13 +308,13 @@ public class TXMSFragment extends Fragment implements /*EasyPermissions.Permissi
/** /**
* 设置定位图标样式 * 设置定位图标样式
*/ */
private void setLocMarkerStyle() { private void setMyLocationMarkerStyle() {
mMyLocationStyle = new MyLocationStyle(); mMyLocationStyle = new MyLocationStyle();
//创建图标 //创建图标
BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(getBitMap(R.drawable.marker)); //BitmapDescriptor bitmapDescriptor = BitmapDescriptorFactory.fromBitmap(getBitMap(R.drawable.marker));
mMyLocationStyle.icon(bitmapDescriptor); //mMyLocationStyle.icon(bitmapDescriptor);
//设置定位圆形区域的边框宽度 //设置定位圆形区域的边框宽度
mMyLocationStyle.strokeWidth(3); mMyLocationStyle.strokeWidth(0);
//设置圆区域的颜色 //设置圆区域的颜色
mMyLocationStyle.fillColor(R.color.style); mMyLocationStyle.fillColor(R.color.style);
@ -359,11 +349,12 @@ public class TXMSFragment extends Fragment implements /*EasyPermissions.Permissi
CameraUpdate cameraSigma = CameraUpdate cameraSigma =
CameraUpdateFactory.newCameraPosition(new CameraPosition( CameraUpdateFactory.newCameraPosition(new CameraPosition(
convertLocationToLatLng(location), convertLocationToLatLng(location),
20f, 19f,
0f, 0f,
0f)); 0f));
//移动地图 //移动地图
tencentMap.moveCamera(cameraSigma); tencentMap.moveCamera(cameraSigma);
ToastUtils.show("Move To Location.");
//addLocationToMap(location); //addLocationToMap(location);
} }
@ -395,6 +386,7 @@ public class TXMSFragment extends Fragment implements /*EasyPermissions.Permissi
locationTX.setAccuracy(tencentLocation.getAccuracy()); locationTX.setAccuracy(tencentLocation.getAccuracy());
locationChangedListener.onLocationChanged(locationTX); locationChangedListener.onLocationChanged(locationTX);
moveToGPSLocation(locationTX);
//显示回调的实时位置信息 //显示回调的实时位置信息
// getActivity().runOnUiThread(new Runnable() { // getActivity().runOnUiThread(new Runnable() {
@ -449,9 +441,9 @@ public class TXMSFragment extends Fragment implements /*EasyPermissions.Permissi
mTencentLocationManager.removeUpdates(this); mTencentLocationManager.removeUpdates(this);
} }
// 关闭当前位置显示 // 关闭当前位置显示
if (tencentMap != null) { // if (tencentMap != null) {
tencentMap.setMyLocationEnabled(false); // tencentMap.setMyLocationEnabled(false);
} // }
} }