0
我想GoogleApiClient獲得當前位置與下面這段代碼來獲取當前位置,如何使用googleapiClient然後把標記
@Override
public void onConnected(@Nullable Bundle bundle) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
if(mLastLocation != null)
{
currentLat = mLastLocation.getLatitude();
currentLon = mLastLocation.getLongitude();
}else
{
Toast.makeText(getApplicationContext(), "Cannot get lat and lon", Toast.LENGTH_SHORT).show();
}
}
那之後我也希望把標記的當前位置,我的問題是mLastlocation還是空
@Override
public void onMapReady(GoogleMap googleMap) {
dGoogleMap = googleMap;
if(mLastLocation != null)
{
MarkerOptions marker = new MarkerOptions()
.position(new LatLng(currentLat, currentLon))
.title("My Current Location");
dGoogleMap.addMarker(marker);
dGoogleMap.animateCamera(CameraUpdateFactory.newLatLngZoom(
new LatLng(currentLat, currentLon), 16));
}
}
或者,這是我的錯missunderstand異步的流動,或者只是我的可憐的邏輯需要加以改進。
你有<使用許可權的android:NAME = 「android.permission.ACCESS_FINE_LOCATION」/>或<使用許可權的android:NAME =「android.permission .ACCESS_COARSE_LOCATION「/>清單中的權限?並且還啓用了您正在測試的手機的位置 –
我已經將這些放在了我的Android清單中,並且還在手機中啓用了位置。沒有工作 –
你在marshmellow上測試它嗎? –