1

コミュニティの皆様、私はアンドロイドでGoogleマップの統合を学んでおり、アクセス許可や最新の情報を理解しています。GoogleApiAvailabilityでもまだ対面2私が解決できないエラー。私はCannot Resolve Method isUserRecoverableError(int)non-static method getErrorDialog cannot be referenced from a static context in the end of codepublic boolean ServicesOK()という方法で取得しています。 次のJavaコードである:(他の何かが必要な場合私はAndroidのGoogleマップのコンセプト:)で適切に案内することができるようにすることをお知らせください)基本的なGoogleマップAndroid、2つの小規模なエラーパーミッション付き

package com.example.testmap; 

import android.app.Dialog; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.widget.Toast; 

import com.google.android.gms.common.ConnectionResult; 
import com.google.android.gms.common.GoogleApiAvailability; 
import com.google.android.gms.common.GooglePlayServicesUtil; 
import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 

public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { 

    private static final int ERROR_DIALOG_REQUEST = 9901; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_maps); 

     if(ServicesOK()) { 
      Toast.makeText(this, "Can't connect to mapping services", Toast.LENGTH_SHORT).show();} 

      // Obtain the SupportMapFragment and get notified when the map is ready to be used. 
      SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() 
        .findFragmentById(R.id.map); 
      mapFragment.getMapAsync(this); 
     } 

    @Override 
    public void onMapReady(GoogleMap googleMap) { 
     GoogleMap mMap = googleMap; 

     // Add a marker in Sydney and move the camera 
     LatLng sydney = new LatLng(-34, 151); 
     mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney")); 
     mMap.moveCamera(CameraUpdateFactory.newLatLng(sydney)); 
    } 

    public boolean ServicesOK(){ 
     GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance(); 
     int isAvailable = googleApiAvailability.isGooglePlayServicesAvailable(this); 

     if(isAvailable== ConnectionResult.SUCCESS){ 
      return true; 
     } 
     else if(GoogleApiAvailability.isUserRecoverableError(isAvailable)){ 
      Dialog dialog; 
      dialog= GoogleApiAvailability.getErrorDialog(isAvailable, this, ERROR_DIALOG_REQUEST); 
      dialog.show(); 
     } 
     else{ 
      Toast.makeText(this, "Can't connect to mapping services", Toast.LENGTH_SHORT).show(); 
     } 
     return false; 
    } 
} 

答えて

1

isUserRecoverableErrorないGoogleApiAvailabilityからGooglePlayServicesUtilから来る方法。しかし、ドキュメントで見られるように、このメソッドは廃止されました。代わりにGoogleApiAvailability.getInstance().isUserResolvableError()を使用してください。

にアクセスしようとしていますが、静的メソッドではありません。代わりにGoogleApiAvailability.getInstance().getErrorDialogを実行する必要があります。

+0

.getInstance()は私の魅力のように働いていました。私のコンセプトをクリアしてくれてありがとうございます:) –

関連する問題