zbhphoenix 2014-12-03 03:30 采纳率: 0%
浏览 480

百度地图3.2 定位4.2 新手求助 定位问题

大神们求助 如何去掉 系统自带的当前位置的那个蓝色的 当前位置的点, 还有怎么手动定位 就是点击按钮 然后定位 我写的是activity启动后定位 然后 手动定位不好用 求指教
用的是最新的百度地图3.2 定位4.2的sdk

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-03 03:30
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Android中,你可以使用LocationManager来获取和设置你的位置。以下是一个简单的示例:

    public class MainActivity extends AppCompatActivity {
    
        private LocationManager locationManager;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 获取位置管理器
            locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    
            // 设置自动更新位置
            if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
                enableGps();
            } else {
                requestLocationPermission();
            }
        }
    
        private void enableGps() {
            locationManager.requestLocationUpdates(
                    LocationManager.GPS_PROVIDER,
                    0,
                    0,
                    this
            );
        }
    
        private void requestLocationPermission() {
            ActivityCompat.requestPermissions(this,
                    new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
                    1);
        }
    
        @Override
        public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
            switch (requestCode) {
                case 1: {
                    // 如果用户拒绝了权限请求,则调用requestLocationPermission()方法。
                    if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                        enableGps();
                    } else {
                        Toast.makeText(this, "Location permission denied", Toast.LENGTH_SHORT).show();
                    }
                    return;
                }
                default:
                    break;
            }
        }
    }
    

    在这个例子中,我们首先获取位置管理器,并设置为自动更新位置。然后,我们检查GPS是否已经启用。如果GPS已启用,我们就调用enableGps()方法;否则,我们就调用requestLocationPermission()方法请求用户的地理位置权限。

    如果你想要手动定位,你可以在onCreate()方法中添加以下代码:

    // 初始化当前的位置
    Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    
    if (location != null) {
        // 手动定位成功
        // ...
    } else {
        // 手动定位失败
        // ...
    }
    

    请注意,这个例子假设你已经在Activity上设置了android:name=".MainActivity"

    评论

报告相同问题?