首页 > 解决方案 > 我想将 Android Studio 地图中的蓝点更改为箭头

问题描述

我想将您在 Android Studio 的 Google 地图中的位置的默认图标更改为另一个图标。

默认图标是蓝色圆圈,谢谢。

标签: javaandroideclipseandroid-studiomobile

解决方案


解决方法是setMyLocationEnabled(false)让这个圈子消失,使用GoogleApiClient手动获取最后一个位置。

 mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addApi(LocationServices.API)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();
        mGoogleApiClient.connect();
        locationCallback = new LocationCallback() {
            @Override
            public void onLocationResult(LocationResult locationResult) {
                super.onLocationResult(locationResult);
                try {
                    lat = locationResult.getLastLocation().getLatitude();
                    lng = locationResult.getLastLocation().getLongitude();
googleMap.addMarker(new MarkerOptions().position(new LatLng(lat, lng))                    .icon(BitmapDescriptorFactory.fromResource(R.drawable.ic_marker_red)));






                } catch (Exception e) {
                }

            }

            @Override
            public void onLocationAvailability(LocationAvailability locationAvailability) {
                super.onLocationAvailability(locationAvailability);
            }
        };

在你的onConnected方法中:

 @Override
public void onConnected(@Nullable Bundle bundle) {

    LocationServices.getFusedLocationProviderClient(LocationActivity.this)
            .requestLocationUpdates(
                    getLocationRequest(), locationCallback, null);


}

在哪里获取位置请求:

private LocationRequest getLocationRequest() {
        mLocationRequest = LocationRequest.create();
        mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
        mLocationRequest.setInterval(1000);
        return mLocationRequest;
    }

推荐阅读