Не удается разрешить символ OnMyLocationClickListener - PullRequest
0 голосов
/ 06 марта 2019

, когда я использую этот метод. Затем ошибка: невозможно разрешить символ OnMyLocationClickListener, даже если я реализовал этот метод с OnMapReadyCallback и ниже зависимости gradle в порядке.

private GoogleMap.OnMyLocationClickListener onMyLocationClickListener =
    new GoogleMap.OnMyLocationClickListener() {
        @Override
        public void onMyLocationClick(@NonNull Location location) {

        }
    };

MapsActivity.java Это действие, в котором последний метод не может разрешить символ.

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback {
SupportMapFragment mapFragment;
private GoogleMap mMap;
private GoogleMap.OnCameraIdleListener onCameraIdleListener;
private TextView resutText;
@Override
protected void onCreate(Bundle savedInstanceState) {
    if (Build.VERSION.SDK_INT < 22)
        setStatusBarTranslucent(false);
    else
        setStatusBarTranslucent(true);
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    resutText = (TextView) findViewById(R.id.dragg_result);
    mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
    configureCameraIdle();
}
private void configureCameraIdle() {....}

@Override
public void onMapReady(GoogleMap googleMap) {...}

protected void setStatusBarTranslucent(boolean makeTranslucent) {..}

private GoogleMap.OnMyLocationButtonClickListener onMyLocationButtonClickListener =
        new GoogleMap.OnMyLocationButtonClickListener() {
            @Override
            public boolean onMyLocationButtonClick() {
                mMap.setMinZoomPreference(15);
                return false;
            }
        };
private GoogleMap.OnMyLocationClickListener onMyLocationClickListener =
        new GoogleMap.OnMyLocationClickListener() {
            @Override
            public void onMyLocationClick(@NonNull Location location) {
                mMap.setMinZoomPreference(12);
                CircleOptions circleOptions = new CircleOptions();
                circleOptions.center(new LatLng(location.getLatitude(),
                location.getLongitude()));
                circleOptions.radius(200);
                circleOptions.fillColor(Color.RED);
                circleOptions.strokeWidth(6);
                mMap.addCircle(circleOptions);
            }
        };
}

Зависимости

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.1'
compile 'com.google.android.gms:play-services:11.0.4'
compile 'com.google.android.gms:play-services-maps:11.0.4'

testCompile 'junit:junit:4.12'
}

1 Ответ

0 голосов
/ 06 марта 2019

OnMyLocationClickListener API доступен в версии Play Services Map версии 11.4.0

Решение: Измените версию зависимости Map Play Services в файле Gradle на 11.4.0 или выше. Последняя версия 16.1.0

// Comment-out this line
// compile 'com.google.android.gms:play-services-maps:11.0.4'

// Add this line
implementation 'com.google.android.gms:play-services-maps:16.1.0'

Выберите версию зависимости здесь .

...