當我的位置爲空時,我的應用程序關閉。我確定這是因爲該位置返回null。我嘗試使用Mock GPS代碼並在代碼通過「if(myLocation!= null)」時運行。我不能「返回我的位置」;之後的「if(myLocation == null)」ANDROID - Google地圖 - 無法「返回位置」;如果陳述後
請幫忙。謝謝。
@Override
public void onMapReady(GoogleMap googleMap) {
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
requestPermissions(new String[]{
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.INTERNET,
Manifest.permission.ACCESS_NETWORK_STATE,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
}, 10);
}
return;
}
gMap = googleMap;
if(!gMap.isMyLocationEnabled())
gMap.setMyLocationEnabled(true);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location myLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (myLocation == null) {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = lm.getBestProvider(criteria, true);
myLocation = lm.getLastKnownLocation(provider);
}
如果我添加「return myLocation;」在 「如果(myLocation == NULL)」
你的方法是無效的,這意味着它不會返回一個值回來。你已經設置了調用這個方法並傳遞一些東西給它,但是它不會返回一些東西。 –
只需創建一個函數並使用'myLocation'在該函數中執行任何你想做的事情 –
@PavneetSingh - onMapReady之外的函數? –